乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Python使用urllib庫、requests庫下載圖片的方法比較

       flyk0tcfb46p9f 2019-04-14

      我們知道,使用Python制作一個爬蟲程序,requests庫是一個不錯的選擇,requests發(fā)送網(wǎng)絡(luò)請求非常簡單,比較使用urllib庫,使用requests庫可以大大減少代碼量,它還可以定制請求頭,這對于爬蟲程序來說是個非常好的功能。再者,使用requests庫時,requests庫會自動解碼來自服務(wù)器的內(nèi)容,而且,大多數(shù)的 unicode 字符都能被無縫地解碼,因此,可以避免大多數(shù)因為編碼造成的問題。今天,我們來看看使用requests如何下載網(wǎng)絡(luò)圖片到本地。

      使用urllib庫下載圖片方法探討

      我們知道,使用urllib庫可以下載圖片,我們對urllib庫下載圖片進行梳理。具體方法如下。

      # jpg_url: 下載圖片網(wǎng)址

      # file_path: 文件路徑及名稱

      from urllib import request

      request.urlretrieve(jpg_link, file_path)

      這樣指定圖片就下載到本地目錄。對于一般服務(wù)器沒有反爬措施的可以使用這種方法下載。但是,沒有這么簡單,今天,我們下載一張妹子圖里面的照片。具體美女的圖片我就不貼出來了,網(wǎng)頁源代碼如下。

      圖片地址

      想這種圖片一般是不好獲取真實圖片地址的,我們試試使用urllib庫不加頭文件直接下載看看。

      出錯了!

      哦哦,文件下載出錯了,服務(wù)器拒絕了我們。下面,我們加入請求頭看一下結(jié)果。

      # coding:utf-8

      import urllib

      from urllib import request

      header = {

      'Referer':'妹子圖主頁地址(自己修改)', 'User-Agent':'根據(jù)需要自己瀏覽器添加(機器人以為這個是電話號碼,真讓人欲哭無淚)' }req = urllib.request.Request('此處圖片地址略去', headers = header)req = urllib.request.urlopen(req)with open('meizi.jpg', 'wb') as f: f.write(req.read())

      加上請求頭之后文件下載成功。但是請注意,這種方法是使用urlopen()打開Request對象,之后,將對象流保存在本地。

      使用requests庫下載圖片的方法探討

      同一張圖片,我們使用requests庫再下載一次。毋庸置疑,使用requests庫下載也是要加入headers的,不然,肯定也是被拒絕咯。我們加入header看一下。

      個人覺得使用requests比使用urllib方便一點,首先從代碼量上面就有優(yōu)勢;其次,在處理unicode字符時requests也比較占優(yōu)勢,在多數(shù)案例中,urllib里面報錯的放到requests中可能就很好的解決了,建議大家多實驗,從而總結(jié)一個個人常用的庫的使用方法,這樣對以后編寫爬蟲程序是大有裨益的……

      好了今天就到這里了!最后,送一張福利給各位……

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多