国产69囗曝吞精在线视频,肥臀浪妇太爽了快点再快点,亚洲欧洲成人a∨在线观看,狠狠色丁香久久综合 ,国精一二二产品无人区免费应用,亚洲精品久久久久中文字幕,四虎一区二区成人免费影院网址 ,无码三级中文字幕在线观看

      PYTHON爬蟲——必應(yīng)圖片關(guān)鍵詞爬取

      2018-8-31    seo達(dá)人

      如果您想訂閱本博客內(nèi)容,每天自動發(fā)到您的郵箱中, 請點這里

      圖片三個網(wǎng)站的圖片搜索結(jié)果進(jìn)行爬取和下載。 
      首先通過爬蟲過程中遇到的問題,總結(jié)如下: 
      1、一次頁面加載的圖片數(shù)量各個網(wǎng)站是不定的,每翻一頁就會刷新一次,對于數(shù)據(jù)量大的爬蟲幾乎都需要用到翻頁功能,有如下兩種方式: 
      1)通過網(wǎng)站上的網(wǎng)址進(jìn)行刷新,例如必應(yīng)圖片:

      url = 'http://cn.bing.com/images/async?q={0}&first={1}&count=35&relp=35&lostate=r
      &mmasync=1&dgState=x*175_y*848_h*199_c*1_i*106_r*0'
          
      • 1
      • 2

      2)通過selenium來實現(xiàn)模擬鼠標(biāo)操作來進(jìn)行翻頁,這一點會在Google圖片爬取的時候進(jìn)行講解。 
      2、每個網(wǎng)站應(yīng)用的圖片加載技術(shù)都不一樣,對于靜態(tài)加載的網(wǎng)站爬取圖片非常容易,因為每張圖片的url都直接顯示在網(wǎng)頁源碼中,找到每張圖片對應(yīng)的url即可使用urlretrieve()進(jìn)行下載。然而對于動態(tài)加載的網(wǎng)站就比較復(fù)雜,需要具體問題具體分析,例如google圖片每次就會加載35張圖片(只能得到35張圖片的url),當(dāng)滾動一次后網(wǎng)頁并不刷新但是會再次加載一批圖片,與前面加載完成的都一起顯示在網(wǎng)頁源碼中。對于動態(tài)加載的網(wǎng)站我推薦使用selenium庫來爬取。

      對于爬取圖片的流程基本如下(對于可以通過網(wǎng)址實現(xiàn)翻頁或者無需翻頁的網(wǎng)站): 
      1. 找到你需要爬取圖片的網(wǎng)站。(以必應(yīng)為例)

      這里寫圖片描述
      2. 使用google元素檢查(其他的沒用過不做介紹)來查看網(wǎng)頁源碼。

      這里寫圖片描述
      3. 使用左上角的元素檢查來找到對應(yīng)圖片的代碼。

      這里寫圖片描述
      4. 通過觀察找到翻頁的規(guī)律(有些網(wǎng)站的動態(tài)加載是完全看不出來的,這種方法不推薦)

      這里寫圖片描述
      從圖中可以看到標(biāo)簽div,class=’dgControl hover’中的data-nexturl的內(nèi)容隨著我們滾動頁面翻頁first會一直改變,q=二進(jìn)制碼即我們關(guān)鍵字的二進(jìn)制表示形式。加上前綴之后由此我們才得到了我們要用的url。 
      5. 我們將網(wǎng)頁的源碼放進(jìn)BeautifulSoup中,代碼如下:

      url = 'http://cn.bing.com/images/async?q={0}&first={1}&count=35&relp=35&lostate=r&mmasync=1&dgState=x*175_y*848_h*199_c*1_i*106_r*0' agent = {'User-Agent': "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.165063 Safari/537.36 AppEngine-Google."}
      page1 = urllib.request.Request(url.format(InputData, i*35+1), headers=agent)
      page = urllib.request.urlopen(page1)
      soup = BeautifulSoup(page.read(), 'html.parser')
          
      • 1
      • 2
      • 3
      • 4
      • 5

      我們得到的soup是一個class ‘bs4.BeautifulSoup’對象,可以直接對其進(jìn)行操作,具體內(nèi)容自行查找。 
      首先選取我們需要的url所在的class,如下圖: 
      這里寫圖片描述
      波浪線是我們需要的url。 
      我們由下面的代碼得到我們需要的url:

      if not os.path.exists("./" + word):#創(chuàng)建文件夾 os.mkdir('./' + word) for StepOne in soup.select('.mimg'):
          link=StepOne.attrs['src']#將得到的<class 'bs4.element.Tag'>轉(zhuǎn)化為字典形式并取src對應(yīng)的value。 count = len(os.listdir('./' + word)) + 1 SaveImage(link,word,count)#調(diào)用函數(shù)保存得到的圖片。
          
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7

      最后調(diào)用urlretrieve()函數(shù)下載我們得到的圖片url,代碼如下:

       try:
              time.sleep(0.2)
              urllib.request.urlretrieve(link,'./'+InputData+'/'+str(count)+'.jpg') except urllib.error.HTTPError as urllib_err:
              print(urllib_err) except Exception as err:
              time.sleep(1)
              print(err)
              print("產(chǎn)生未知錯誤,放棄保存") else:
              print("圖+1,已有" + str(count) + "張圖")
          
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11

      這里需要強調(diào)是像前面的打開網(wǎng)址和現(xiàn)在的下載圖片都需要使用try except進(jìn)行錯誤測試,否則出錯時程序很容易崩潰,大大浪費了數(shù)據(jù)采集的時間。 
      以上就是對單個頁面進(jìn)行數(shù)據(jù)采集的流程,緊接著改變url中{1}進(jìn)行翻頁操作繼續(xù)采集下一頁。 
      數(shù)據(jù)采集結(jié)果如下: 
      這里寫圖片描述

      有問題請留言。 

      藍(lán)藍(lán)設(shè)計www.izc.net.cn )是一家專注而深入的界面設(shè)計公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計、BS界面設(shè)計 、 cs界面設(shè)計 、 ipad界面設(shè)計 、 包裝設(shè)計 、 圖標(biāo)定制 、 用戶體驗 、交互設(shè)計、 網(wǎng)站建設(shè) 平面設(shè)計服務(wù)

      日歷

      鏈接

      個人資料

      存檔

      主站蜘蛛池模板: 黄色A级国产免费大片视频| 太粗太深了太紧太爽了动态图男男| 国语毛片| 激情九月婷婷| 丁香五月欧美成人| 成人免费在线| 91手机视频在线观看| 国产精自产拍久久久久久蜜| 免费观看又色又爽又黄的韩国| 黄色福利网站| 婷婷色亚洲| 久久综合噜噜激激的五月天| 69国产精品成人aaaaa片| 国产午夜在线观看| 国产91国语对白在线| 日本成熟老妇乱| 午夜夜伦鲁鲁片免费无码| 一区二区三区久久久| 国产午夜在线一区二区三区| 亚洲熟妇国产熟妇肥婆| 永久免费观看美女裸体视频的网站| 欧美超碰在线| 天天操天天爽天天干| 日本丰满老妇bbb| 国产精品自产拍在线观看免费| 小泽玛利亚在线| 91成人国产综合久久精品| 在线观看特色大片免费视频| 中文字幕无码专区人妻系列| 秋霞国产| 天天操国产| 日本丰满妇人成熟免费中文字幕| 国产午夜羞羞小视频在线观看免费 | 亚洲最大无码av网站观看| 操比网站| 狠狠干2022| 成人无码av片在线观看| 国产免费一卡二卡三卡四卡| 亚洲色图p| 99国产精品99| 曰韩高清砖码一二区视频|