分布式爬行¶Scrapy不提供任何以分布式(多服务器)方式运行爬虫的内置工具。但是,有一些分发爬行的方法,这取决于您计划如何分发爬行。 如果您有许多蜘蛛,那么分配负载的最明显的方法就是设置许多ScrapyD实例,并将蜘蛛运行分布在这些实例中。 如果您想在多台机器上运行一个(大)蜘蛛,通常需要对URL进行分区,以便爬行并将它们发送到每个单独的蜘蛛。下面是一个具体的例子: 首先,准备要爬网的URL列表并将其放入单独的文件/URL:: http://somedomain.com/urls-to-crawl/spider1/part1.list
http://somedomain.com/urls-to-crawl/spider1/part2.list
http://somedomain.com/urls-to-crawl/spider1/part3.list
然后在3个不同的ScrapyD服务器上启动一个蜘蛛运行。蜘蛛会收到一个(蜘蛛)论点 curl http://scrapy1.mycompany.com:6800/schedule.json -d project=myproject -d spider=spider1 -d part=1
curl http://scrapy2.mycompany.com:6800/schedule.json -d project=myproject -d spider=spider1 -d part=2
curl http://scrapy3.mycompany.com:6800/schedule.json -d project=myproject -d spider=spider1 -d part=3
避免被禁止¶一些网站实施了某些措施,以防止僵尸爬行他们,不同程度的复杂度。绕开这些措施既困难又棘手,有时可能需要特殊的基础设施。请考虑联系 commercial support 如果有疑问。 以下是处理此类网站时要记住的一些提示:
|
Archiver|手机版|笨鸟自学网 ( 粤ICP备20019910号 )
GMT+8, 2024-11-21 21:14 , Processed in 0.079707 second(s), 17 queries .