如何在使用node.io抓取时添加像Tor一样的代理?

我正在使用node.io构build一个web刮板,但在寻找方法的时候,我已经要求这么多,而且这个网站已经阻止了我。 我不知道如何添加像使用Tor的代理向本网站发出请求。

关于这篇文章http://pkmishra.github.io/blog/2013/03/18/how-to-run-scrapy-with-TOR-and-multiple-browser-agents-part-1-mac/

我安装tor和polipo。 Polipo连接到Tor和Node.IO将使用http代理polipo提供。 这似乎比我想象的简单。 并设置刮刀代理

var scrap = new Scraper({ start: 0, limit: 5, count: null, max: config.max || 0, debug: true, wait: 3, proxy: 'http://127.0.0.1:8123' }); 

它工作正常。

我们真的需要看看这是什么types的网站,为什么你要抓它,最好是什么具体的网站,以提供build议。 你知道你为什么被封锁吗?

我想到的第一个想法是,你已经爬得太快了,并且因为这个原因你被合法地封锁了。 如果您的业务依赖于一个站点的抓取(例如,来自eBay的价格),那么您需要在每次点击之间延迟几秒钟。

我倾向于认为,网站经营者完全有权阻止特定的刮板,如果他们愿意的话。 但是,这种观点可能会受到“共同利益”的概念的影响,如减less部分垄断的影响。 例如,我知道有人曾经从某个行业的网站上刮取价格,然后重新格式化并转售这些数据。 数据的作用是使整个行业更具竞争力,降低消费者的价格。

因此,其中一个目标网站决定阻止抓取工具。 是否反对他们的资源消耗,没有销售的机会,或者是因为他们不喜欢机器人的竞争效应? 很难说 – 可能都是。 刮刀现在已经被人类所取代,而这些操作成本更高,但无论如何都得到了数据。

因此,使用代理有潜在的争议,但在大多数情况下,我认为他们是一个坏主意。 例如,如果您打算带别人的新闻文章并在其他地方重新显示他们,而没有增加任何价值,那么您当然应该被阻止。 但是,画线的人很复杂。


相关: 我的答案在这里提供了一些关于如何抓取的build议,包括关于避免代理的一般性build议,以及一个可以轻松阻止的用户代理。 也许这可能是有用的?