簡體   English   中英

如何在 Web 使用代理在 python 請求中抓取時獲得更少的 403 和更多的 200 響應?

[英]How to get less 403 and more 200 response while Web Scraping in python request using proxy?

我正在研究一個需要抓取一些 URL 的研究項目。 我有超過 5k 個foursquare URL(比如這個:https://foursquare.com/v/t-spesjalleke/4c94ec0d533aa09384d5c345 ),我只需要知道餐廳是否便宜/中等/昂貴/非常昂貴。 所以我寫了一個腳本,我從https://free-proxy-list.net為每個foursquare請求解析50個代理。 我正在使用代理列表中的 random.choice() 進行請求,直到我得到響應代碼 200。在使用漂亮的湯獲得 200 響應代碼后,獲取類別並將其寫入文件。 但問題是我收到了很多 403 代碼。 這就是為什么每個請求都需要這么多時間的原因。 所以我嘗試了 concurrent.futures.ThreadPoolExecutor(max_workers=8) 以使其更快,但它並沒有變得更快,因為我收到了很多 403 響應。 我也在使用 header 代理來請求。

這是我要運行的腳本: https://paste.ubuntu.com/p/j3FYGngMGS/

我需要使過程優化。 我沒有找到任何其他解決方案。 請提供一些可能有幫助的見解。 非常感謝。

這是 IP 位置問題嗎? 由於 IP 與網站所有者設置的國家/地區不匹配,您可能會收到錯誤消息。

另一個可能是 IP 黑名單,雖然你有代理池,但這些不是私有的,因此其他人可以使用它們並將它們列出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM