伊莉討論區

標題: python爬蟲抓不到圖 [打印本頁]

作者: yaksa1105    時間: 2018-5-3 03:07 PM     標題: python爬蟲抓不到圖

本帖最後由 yaksa1105 於 2018-5-4 03:33 PM 編輯

我是學python的新手,以爬蟲為主題找了一些網上的資料,
抓資料的都OK,抓圖的部份也有幾個成功了。

昨天遇到一個教學帖是抓百度貼吧的圖,跟著實做後出現問題了,
抓網頁原始碼OK,我用正則表達式處理資料,得到圖片位址OK,
下載圖片卻出現連線嘗試失敗的問題,有時候抓到一張有時候二張,
大部份是一張都抓不到,我猜是反爬蟲機制
抓圖部份的程式碼如下:
res = requests.get(data, headers=headers)
with open('{0}.{1}'.format(name, 'jpg'), 'wb')as f:
    f.write(res.content)


我自己上網查反爬蟲資料後,改了headers的內容==>失敗
headers = {   
               'Accept': '*/*',
               'Accept-Language': 'en-US,en;q=0.8',
               'Cache-Control': 'max-age=0',
               'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36',
               'Connection': 'keep-alive',
               'Referer': 'https://tieba.baidu.com/p/5588525458'     #貼吧的網址
          }

抓二張圖中間設定sleep3秒==>失敗
用Selenium開網頁太慢==>不想用

想說是不是我的IP上黑名單了,就把圖片網址先存到txt檔中,
再貼到chrome的下載管理器,結果二秒鐘就下完了10幾張圖
所以應該不是IP的問題?那個帖子是1年前的時間發的,
也許貼吧有新的反爬蟲機制,想請問各位有沒有人知道要如何避開,感謝!!







作者: ppny123    時間: 2018-5-9 06:21 PM

提示: 作者被禁止或刪除 內容自動屏蔽
作者: yaksa1105    時間: 2018-5-10 09:59 AM

用requests.get會出錯,還是搞不懂那裡出問題,
用urllib.request.urlretrieve和request.urlopen就不會,
很正常的下完圖片了,網路上找的下載圖片方法,
requests.get這佪指令就是不行
作者: zxcv3316822    時間: 2019-2-2 11:09 PM

可否放一下截圖,我想應該不是反爬蟲喔,如果是的話應該還是會有資料被載下來,但是是錯誤的資料(大多都是空白圖片),with open('{0}.{1}'.format(name, 'jpg'), 'wb')as f:
    f.write(res.content)是不是這裡出錯了?
作者: pentest.tw    時間: 2019-2-16 11:07 AM

Website Image Crawler的話已經有人寫過Python模組囉~
它是用urllib.request
Github - https://github.com/digitaldreams/image-crawler-python
可以直接Import它,或者參考看看它的寫法
作者: kevin61416    時間: 2019-2-21 11:46 AM

有測試過是否為 Client Rendering 的問題嗎?




歡迎光臨 伊莉討論區 (http://www207.eyny.com/) Powered by Discuz!