Scrapy框架的代理IP

时间:2013-10-18 09:46:28

标签: python proxy scrapy tor

我正在使用 Python Scrapy 框架开发网络抓取项目。它从电子商务购物网站抓取Approax 10k网页。整个项目工作正常但在将代码从测试服务器转移到生产服务器之前我想选择一个更好的代理ip提供商服务,这样我就不必担心我的 IP阻止或拒绝访问网站我的蜘蛛。

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

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

  1. http://www.ninjasproxy.com/http://hidemyass.com/

  2. 购买高级代理列表
  3. 使用 TOR

  4. 使用 VPN服务,例如http://www.hotspotshield.com/

  5. 任何选项优于上述三个

3 个答案:

答案 0 :(得分:8)

以下是我目前正在使用的选项(取决于我的需求):

  • proxymesh.com - 小型项目的合理价格。从来没有与服务有任何问题,因为它开箱即用scrapy(我不隶属于他们)
  • 一个自构建脚本,可在亚马逊上启动多个EC2微实例。然后我将SSH连接到机器并创建一个SOCKS代理连接,然后通过delegated传送这些连接以创建可用于scrapy的普通http代理。 http代理可以使用像haproxy之类的东西进行负载均衡,也可以构建自己的代理中间件来旋转代理

后一种解决方案是目前最适合我的解决方案,每天可以节省大约20-30GB的流量而没有任何问题。

答案 1 :(得分:7)

Crawlera专为网络抓取项目而构建。例如,它实现了智能算法以避免被禁止,并且它用于抓取非常大和高调的网站。

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

答案 2 :(得分:0)

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

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

请注意,当通过代理连接时,总会造成性能损失,但您提到的 10K 网页仍然在您的掌控之中。