Scrapy fram的代理IP

2024-04-19 23:31:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Python和Scrapy框架开发一个web爬行项目。它从电子商务购物网站上抓取大约10万个网页。整个项目运行良好,但在将代码从测试服务器移动到生产服务器之前,我希望选择一个更好的代理ip提供程序服务,这样我就不必担心我的ip阻塞或拒绝网站访问我的蜘蛛。

到目前为止,我在Scrapy中使用中间件从各种网站的免费代理ip列表中手动旋转ip like this

现在我对我应该选择的选项感到困惑

  1. http://www.ninjasproxy.com/http://hidemyass.com/购买高级代理列表

  2. 使用TOR

  3. 使用VPN服务就像http://www.hotspotshield.com/

  4. 任何比以上三个选项更好的选项


Tags: 项目ip服务器com框架webhttp代理
3条回答

Crawlera是专门为web爬网项目构建的。例如,它实现了智能算法,以避免被禁止,并用于抓取非常大和知名度很高的网站。

免责声明:我为母公司工作,也是Scrapy的核心开发人员。

如果您不想使用付费服务,请考虑使用一个将自动为您旋转代理的scrapy库:https://github.com/TeamHG-Memex/scrapy-rotating-proxies

您可以在这里查找有关如何实现自动化的完整教程:https://tinyendian.com/articles/how-to-scrape-the-web-and-not-get-caught

请记住,当通过代理连接时,总是会带来性能损失,但是您提到的网页仍然很容易访问。

以下是我当前使用的选项(取决于我的需要):

  • proxymesh.com-小型项目的合理价格。从来没有任何问题的服务,因为它是现成的与斯皮奇(我不附属于他们)
  • 在Amazon上启动几个EC2微实例的自建脚本。然后,我将SSH连接到机器中,并创建一个SOCKS代理连接,然后这些连接通过delegated管道来创建可用于scrapy的普通http代理。http代理既可以使用haproxy之类的东西进行负载平衡,也可以自己构建一个自定义的中间件来旋转代理

后一种解决方案是目前对我最有效的,它可以在没有任何问题的情况下每天推送大约20-30GB的流量。

相关问题 更多 >