python成長日記1:使用python訪問網站,下載圖片__python

來源:互聯網
上載者:User

用最簡單的語句,實現最實用的功能

一起學習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




好啦,福利拿好 ,收工睡覺,明天有時間再嘗試下載線上小說,為宅男創造福利啦






聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.