【问题标题】:Proxy IP for Scrapy frameworkScrapy 框架的代理 IP
【发布时间】:2013-10-27 02:42:21
【问题描述】:

我正在使用 PythonScrapy 框架开发一个网络爬虫项目。它从电子商务购物网站抓取大约 10k 网页。整个项目运行良好,但在将代码从测试服务器移动到生产服务器之前,我想选择一个更好的代理 ip 提供商服务,这样我就不必担心我的 IP Blocking 或拒绝访问网站我的蜘蛛。

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

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

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

  2. 使用TOR

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

  4. 任何优于以上三个的选项

【问题讨论】:

标签: python proxy scrapy tor


【解决方案1】:

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

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

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

【讨论】:

【解决方案2】:

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

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

【讨论】:

  • 对于单个开发人员来说太贵了。他们的计划起价为每月 99 美元。
【解决方案3】:

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

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

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

【讨论】:

  • 亚马逊是否允许经常更改公共 IP?没有找到任何相关信息...我想使用 API 启动 20 个实例并经常(可能每分钟)轮换它们的公共 IP
  • @herrherr 您能否分享更多关于如何实施您的第二个选项的信息。任何指南供我们查找。非常感激。谢谢:)
猜你喜欢
  • 1970-01-01
  • 2015-02-06
  • 1970-01-01
  • 1970-01-01
  • 2016-03-22
  • 1970-01-01
  • 1970-01-01
  • 2012-07-07
  • 2011-06-10
相关资源
最近更新 更多