頁:
[1]
python爬蟲抓不到圖
本帖最後由 yaksa1105 於 2018-5-4 03:33 PM 編輯我是學python的新手,以爬蟲為主題找了一些網上的資料,
抓資料的都OK,抓圖的部份也有幾個成功了。
昨天遇到一個教學帖是抓百度貼吧的圖,跟著實做後出現問題了,
抓網頁原始碼OK,我用正則表達式處理資料,得到圖片位址OK,
下載圖片卻出現連線嘗試失敗的問題,有時候抓到一張有時候二張,
大部份是一張都抓不到,我猜是反爬蟲機制{:9:}
抓圖部份的程式碼如下:
res = requests.get(data, headers=headers)
with open('{0}.{1}'.format(name, 'jpg'), 'wb')as f:
f.write(res.content)
我自己上網查反爬蟲資料後,改了headers的內容==>...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div> res = requests.get(url, params=data, headers=headers)
試下print res.status_code睇下成唔成功先, 另外data無提供到唔知會唔會錯data 用requests.get會出錯,還是搞不懂那裡出問題,
用urllib.request.urlretrieve和request.urlopen就不會,
很正常的下完圖片了,網路上找的下載圖片方法,
requests.get這佪指令就是不行{:36:} 可否放一下截圖,我想應該不是反爬蟲喔,如果是的話應該還是會有資料被載下來,但是是錯誤的資料(大多都是空白圖片),with open('{0}.{1}'.format(name, 'jpg'), 'wb')as f:
f.write(res.content)是不是這裡出錯了? Website Image Crawler的話已經有人寫過Python模組囉~
它是用urllib.request
Github - https://github.com/digitaldreams/image-crawler-python
可以直接Import它,或者參考看看它的寫法<br><br><br><br><br><div></div> 有測試過是否為 Client Rendering 的問題嗎?
頁:
[1]