真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python爬蟲如何實(shí)現(xiàn)百度圖片自動下載-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)Python爬蟲如何實(shí)現(xiàn)百度圖片自動下載的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

我們提供的服務(wù)有:網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、璧山ssl等。為上千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的璧山網(wǎng)站制作公司

制作爬蟲的步驟

制作一個(gè)爬蟲一般分以下幾個(gè)步驟:

分析需求分析網(wǎng)頁源代碼,配合開發(fā)者工具編寫正則表達(dá)式或者XPath表達(dá)式正式編寫 python 爬蟲代碼 效果預(yù)覽

運(yùn)行效果如下:

Python爬蟲如何實(shí)現(xiàn)百度圖片自動下載

存放圖片的文件夾:

Python爬蟲如何實(shí)現(xiàn)百度圖片自動下載

需求分析

我們的爬蟲至少要實(shí)現(xiàn)兩個(gè)功能:一是搜索圖片,二是自動下載。

搜索圖片:最容易想到的是爬百度圖片的結(jié)果,我們就上百度圖片看看:

Python爬蟲如何實(shí)現(xiàn)百度圖片自動下載

隨便搜索幾個(gè)關(guān)鍵字,可以看到已經(jīng)搜索出來很多張圖片:

Python爬蟲如何實(shí)現(xiàn)百度圖片自動下載

分析網(wǎng)頁

我們點(diǎn)擊右鍵,查看源代碼:

Python爬蟲如何實(shí)現(xiàn)百度圖片自動下載

打開源代碼之后,發(fā)現(xiàn)一堆源代碼比較難找出我們想要的資源。

這個(gè)時(shí)候,就要用開發(fā)者工具!我們回到上一頁面,調(diào)出開發(fā)者工具,我們需要用的是左上角那個(gè)東西:(鼠標(biāo)跟隨)。

Python爬蟲如何實(shí)現(xiàn)百度圖片自動下載

然后選擇你想看源代碼的地方,就可以發(fā)現(xiàn),下面的代碼區(qū)自動定位到了相應(yīng)的位置。如下圖:

Python爬蟲如何實(shí)現(xiàn)百度圖片自動下載

Python爬蟲如何實(shí)現(xiàn)百度圖片自動下載

我們復(fù)制這個(gè)地址,然后到剛才的一堆源代碼里搜索一下,發(fā)現(xiàn)了它的位置,但是這里我們又疑惑了,這個(gè)圖片有這么多地址,到底用哪個(gè)呢?我們可以看到有thumbURL,middleURL,hoverURL,objURL

Python爬蟲如何實(shí)現(xiàn)百度圖片自動下載

通過分析可以知道,前面兩個(gè)是縮小的版本,hoverURL 是鼠標(biāo)移動過后顯示的版本,objURL 應(yīng)該是我們需要的,可以分別打開這幾個(gè)網(wǎng)址看看,發(fā)現(xiàn) objURL 的那個(gè)大最清晰。

找到了圖片地址,接下來我們分析源代碼。看看是不是所有的 objURL 都是圖片。

Python爬蟲如何實(shí)現(xiàn)百度圖片自動下載

發(fā)現(xiàn)都是以.jpg格式結(jié)尾的圖片。

編寫正則表達(dá)式

pic_url = re.findall('"objURL":"(.*?)",',html,re.S)

編寫爬蟲代碼

這里我們用了2個(gè)包,一個(gè)是正則,一個(gè)是 requests 包

#-*- coding:utf-8 -*-
import re
import requests

復(fù)制百度圖片搜索的鏈接,傳入 requests ,然后把正則表達(dá)式寫好

Python爬蟲如何實(shí)現(xiàn)百度圖片自動下載

url = 'https://image.baidu.com/search/index?tn=baiduimage&ie=utf-8&word=%E6%A0%97%E5%B1%B1%E6%9C%AA%E6%9D%A5%E5%A4%B4%E5%83%8F&ct=201326592&ic=0&lm=-1&width=&height=&v=index' html = requests.get(url).text pic_url = re.findall('"objURL":"(.*?)",',html,re.S)

因?yàn)橛泻芏鄰垐D片,所以要循環(huán),我們打印出結(jié)果來看看,然后用 requests 獲取網(wǎng)址,由于有些圖片可能存在網(wǎng)址打不開的情況,所以加了10秒超時(shí)控制。

pic_url = re.findall('"objURL":"(.*?)",',html,re.S) i = 1 for each in pic_url:   
print each   
try:     
pic= requests.get(each, timeout=10)   
except requests.exceptions.ConnectionError:     print('【錯誤】當(dāng)前圖片無法下載')     
continue

接著就是把圖片保存下來,我們事先建立好一個(gè) images 目錄,把圖片都放進(jìn)去,命名的時(shí)候,以數(shù)字命名。

dir = '../images/' + keyword + '_' + str(i) + '.jpg'
    fp = open(dir, 'wb')
    fp.write(pic.content)
    fp.close()
    i += 1

完整的代碼

# -*- coding:utf-8 -*-
import re
import requests


def dowmloadPic(html, keyword):
  pic_url = re.findall('"objURL":"(.*?)",', html, re.S)
  i = 1
  print('找到關(guān)鍵詞:' + keyword + '的圖片,現(xiàn)在開始下載圖片...')
  for each in pic_url:
    print('正在下載第' + str(i) + '張圖片,圖片地址:' + str(each))
    try:
      pic = requests.get(each, timeout=10)
    except requests.exceptions.ConnectionError:
      print('【錯誤】當(dāng)前圖片無法下載')
      continue

    dir = '../images/' + keyword + '_' + str(i) + '.jpg'
    fp = open(dir, 'wb')
    fp.write(pic.content)
    fp.close()
    i += 1


if __name__ == '__main__':
  word = input("Input key word: ")
  url = 'http://image.baidu.com/search/flip?tn=baiduimage&ie=utf-8&word=' + word + '&ct=201326592&v=flip'
  result = requests.get(url)
  dowmloadPic(result.text, word)

Python爬蟲如何實(shí)現(xiàn)百度圖片自動下載

Python爬蟲如何實(shí)現(xiàn)百度圖片自動下載

我們看到有的圖片沒顯示出來,打開網(wǎng)址看,發(fā)現(xiàn)確實(shí)沒了。

Python爬蟲如何實(shí)現(xiàn)百度圖片自動下載

因?yàn)榘俣扔行﹫D片它緩存到百度的服務(wù)器上,所以我們在百度上還能看見它,但它的實(shí)際鏈接已經(jīng)失效了。

感謝各位的閱讀!關(guān)于“Python爬蟲如何實(shí)現(xiàn)百度圖片自動下載”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


文章題目:Python爬蟲如何實(shí)現(xiàn)百度圖片自動下載-創(chuàng)新互聯(lián)
標(biāo)題URL:http://weahome.cn/article/dieocj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部