用最簡單的語句,實現最實用的功能
一起學習PYTHON@小臉龍
工作了三個月,終於收拾了一下自己的懶勁,甩掉一大堆的理由,再次分享自己的學習心得,開個專題,和大家一起學python,收羅最簡單的命令,實現最實用的功能,本人初學者,如有謬誤望多多指正。
介紹一下開發環境:Ubuntu 11.04 , Sublime2 , Python2.7
涉及到的庫: os , urllib
import osos.listdir('./') #顯示'./'當前路徑下的檔案與檔案夾os.chdir('/home') #切換路徑至home目錄os.getcwd() #擷取當前路徑
當然,os庫還有很多,具體可以參看Python Docs 上述是可能需要的幾個API
import urlibufile = urllib.urlopen(url) # 擷取一個網路連接對象info = ufile.info() # url 內容相關的meta-infoif info.gettype() == 'text/html': #擷取網站相應類型內容urlhandler= urllib.URLopener() #建立一個urlopen執行個體urlhandler.retrieve(url,filename); #擷取url並儲存為filename返回
目標:找個動漫網站去下一本漫畫書
實現:
1 首先,找一個漫畫網站,確定可以找到圖片的連結,並不容易,現在很多都沒有將圖片地址寫在代碼裡。通過Google圖片著,還是被我找到一個:http://www.acmoe.com/comicdata/2943/%E6%9C%AA%E5%A9%9A%E5%85%B3%E7%B3%BB[%E9%9D%92%E5%87%BA%E4%BA%8E%E8%93%9D]_Vol_1/1.jpg
也就是說,到時候就把第一卷全部下下來。
2 還有就是要考慮404錯誤,一卷的數量是有限的,超過會報404,因此要加入錯誤處理
3 上代碼:
import sysimport osimport urllibdef downloadCatoon(url,dir,vol,catoontype='jpg'): VolMax = 200 #最大頁數 catoonnum = 1 os.chdir(dir)#移至dir目錄下 os.mkdir(vol)#建立vol1 ,2 ,... os.chdir(os.path.join(dir, vol)) #進入該目錄 for i in range(VolMax): image = urllib.URLopener() catoonname = str(catoonnum + i) + '.' + catoontype try: image.retrieve(url + catoonname, catoonname) pass except IOError: #當遇到錯誤。 print 'job done' breakdef main(): args = sys.argv[1:] downloadCatoon(args[0], args[1], args[2])if __name__ == '__main__': main()
4 測試
python downloadCartoon.py http://www.acmoe.com/comicdata/2943/%E6%9C%AA%E5%A9%9A%E5%85%B3%E7%B3%BB[%E9%9D%92%E5%87%BA%E4%BA%8E%E8%93%9D]_Vol_1/ ./ vol1
好啦,福利拿好 ,收工睡覺,明天有時間再嘗試下載線上小說,為宅男創造福利啦