我有多个网站存储在数据库中,爬网时间不同,例如每个网站每5/10分钟。我创建了蜘蛛以使用cron爬行和运行。它将从数据库中获取所有网站,并为所有网站并行运行爬网。如何实现以不同的时间对存储在数据库中的每个网站进行爬网?有什么办法可以解决这个问题吗?
答案 0 :(得分:1)
您是否尝试过在start_requests中添加调度组件?
def start_requests(self):
while:
for spid_url in url_db['to_crawl'].find(typ='due'):
// update url to crawltime
yield scrapy.Request(...)
// sleep until next_url_is_due
// set_crawl_to_due
if enough:
break