问题 Scrapy框架的代理IP


我正在使用开发一个Web爬行项目 蟒蛇 和 Scrapy 框架。它抓住了通道 10k网页 来自电子商务购物网站。整个项目工作正常但在将代码从测试服务器移动到生产服务器之前我想选择一个更好的代理ip提供商服务,这样我就不用担心我的 IP阻止 或拒绝访问我的蜘蛛网站。

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

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

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

  2. 使用 TOR

  3. 使用 VPN服务 喜欢 http://www.hotspotshield.com/

  4. 任何选项都优于上述三项


11384
2017-10-18 09:46


起源



答案:


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

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

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


8
2017-10-19 09:32



亚马逊是否允许经常更改公共IP?没有找到任何相关的信息...我想使用API​​启动20个实例并经常(可能每分钟)轮换他们的公共IP - Spaceman
@herrherr你可以分享更多关于如何实现你的第二个选项的信息。任何指南供我们查询。非常感激。谢谢 :) - Ming


答案:


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

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

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


8
2017-10-19 09:32



亚马逊是否允许经常更改公共IP?没有找到任何相关的信息...我想使用API​​启动20个实例并经常(可能每分钟)轮换他们的公共IP - Spaceman
@herrherr你可以分享更多关于如何实现你的第二个选项的信息。任何指南供我们查询。非常感激。谢谢 :) - Ming


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

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


7
2017-10-19 01:07





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

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

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


0
2018-04-24 08:35