2017-07-27 98 views
2

我有一個關於從網頁抓取數據的問題。有些網站對請求有限制,如何在這種情況下抓取網頁?有限制的網頁抓取

+0

如果你所要求的是「我要規避robots.txt文件,我該怎麼做呢?」答案是,「這種限制是有原因的:這是爲了讓網絡爬蟲不在他們不屬於的地方。」如果這不是你的問題,那麼你需要(而且應該)更清楚你想做什麼以及爲什麼。加入你所做過的研究以及你試圖解決問題的方法。 – JBH

回答

3

爲簡單的網絡再殺你可以使用所謂的「零碎」流行的Python框架:

https://scrapy.org/

它使用CSS選擇器在HTML文件中選擇標籤。

對於具有一些安全解決方案的網頁,您可以使用tor通過獲取新會話來更改您的IP地址。

https://www.torproject.org/

,但如果你的意思是,網站有一些象徵性的,你不能生成它們,你可以用「硒」模擬瀏覽器。

http://www.seleniumhq.org/

+0

我崇拜你!你救了我的生命真是太棒了...... <3 –

2

當您爬取網站時,您可能會發現由於您向網站提出太多請求而導致您限制了費率。例如,在我允許您發出其他請求之前,我的網站可能會阻止您幾秒鐘。這些限制可能會根據網站以及您提出請求的頻率和頻率發生變化。

解決這些限制的一種方法是在使用您的語言睡眠方法的請求之間等待一點點。在Python中,這是time.sleep(10)

如果您仍然被阻止,您可以嘗試使用增加的重試周期來迎合禁令時間。例如,您在某些請求中被阻止,因此請等待5秒鐘,然後重試(並阻止),等待10秒鐘,然後重試(並阻止),等待20秒鐘,然後重試(並阻止),等待40秒依此類推,直到你達到你想放棄的限制,或者服務器允許你成功完成請求。