Web scraping 如何使用scrapy redis的示例

Web scraping 如何使用scrapy redis的示例,web-scraping,scrapy,scrapy-spider,Web Scraping,Scrapy,Scrapy Spider,我读过scrapy redis的介绍,但仍然不太明白如何使用它 我已经运行了名为dmoz的蜘蛛,它运行得很好。但当我启动另一个名为mycrawler_redis的蜘蛛时,它什么也没有得到 此外,我对如何设置请求队列感到非常困惑。我在示例项目中没有找到任何说明请求队列设置的代码 如果不同机器上的爬行器想要共享同一个请求队列,我如何才能做到这一点?似乎我应该首先让从机连接到主机的redis,但我不确定将相关代码放在哪一部分,在spider.py中,还是在命令行中键入 我对scrapy redis很陌

我读过scrapy redis的介绍,但仍然不太明白如何使用它

我已经运行了名为dmoz的蜘蛛,它运行得很好。但当我启动另一个名为mycrawler_redis的蜘蛛时,它什么也没有得到

此外,我对如何设置请求队列感到非常困惑。我在示例项目中没有找到任何说明请求队列设置的代码

如果不同机器上的爬行器想要共享同一个请求队列,我如何才能做到这一点?似乎我应该首先让从机连接到主机的redis,但我不确定将相关代码放在哪一部分,在spider.py中,还是在命令行中键入


我对scrapy redis很陌生,任何帮助都将不胜感激

如果示例spider正在工作,而您的自定义spider没有工作,那么一定是您做错了什么。用代码更新你的问题,包括所有相关部分,这样我们就可以看到哪里出了问题

此外,我对如何设置请求队列感到非常困惑。我 在示例项目中没有找到任何说明 请求队列设置

就您的spider而言,这是通过适当的项目设置完成的,例如,如果您想要FIFO:

# Enables scheduling storing requests queue in redis.
SCHEDULER = "scrapy_redis.scheduler.Scheduler"

# Don't cleanup redis queues, allows to pause/resume crawls.
SCHEDULER_PERSIST = True

# Schedule requests using a queue (FIFO).
SCHEDULER_QUEUE_CLASS = 'scrapy_redis.queue.SpiderQueue'
就实现而言,队列是通过redispider完成的,您必须从spider继承redispider。您可以在此处找到排队请求的代码:

至于连接,您不需要手动连接到redis机器,只需在设置中指定主机和端口信息:

REDIS_HOST = 'localhost'
REDIS_PORT = 6379
并且在
ċconnection.py
中配置连接:
用法的例子可以在几个地方找到:

Lawrence,非常感谢您的具体解释!问题终于解决了。我犯了一个大错误!!!我将dmoz蜘蛛视为主蜘蛛,它将URL放入队列中,并错过了关于如何将URL推送到redis的说明。TAT所以我一直在寻找start_URL是如何传递给像mycrawler这样的从爬行器的,但无法弄清楚爬行器是如何共享队列的。非常感谢你的帮助!很高兴我能帮忙。祝你好运