我有两个独立的蜘蛛......
Spider 1将从HTML页面
Spider 2将使用之前蜘蛛中的已删除网址作为“开始网址” 并开始抓页
..现在我想要做的是......我正试图以一种方式安排它......每隔一小时左右......我想要并行开启所有蜘蛛2网址,同时
我已经将它部署在scrapyD上,并将start_url从python脚本传递给每个已部署的蜘蛛作为参数。比如
for url in start_urls:
r = requests.post("http://localhost:6800/schedule.json",
params={
'project': 'project',
'spider': 'spider',
'start_urls': url
})
并在蜘蛛内部,从kwargs读取此参数start_urls并将其分配给Start_urls
但我注意到的事情是,当我使用for循环将多个URL传递给同一部署的蜘蛛时,它永远不会并行运行
在任何时间点只有一个作业正在运行,其他作业处于待定状态(未运行)
报废和服务设置默认情况下仅在两个设置后更改
max_proc = 100
max_proc_per_cpu = 25
我如何实现,接近使用python-scrapy-scrapyd
的真正并行性或者我必须使用python-multi processing-pool-apply_async或其他一些解决方案