请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

scrapy-redis怎么在外部进程yield到某一spider的Request中?

我在实际使用中,我都是用start_url来驱动爬虫开始的,
但是有时候我只是想走几条实际数据,一般怎么操作比较好的?

正在回答

1回答

bobby 2019-05-30 13:30:17

start_url只是爬虫的开始而已,爬虫的实际过程中会产生更多的url,这些url都是放到redis中的, 如果想要自己写脚本 就要看一下课程中中讲解到的scrapy-redis的源码中有讲解如何将request生成一个对象放入到redis中,自己用脚本模拟一下就可以驱动scrapy-redis运行了

0 回复 有任何疑惑可以回复我~
  • 提问者 慕粉3691223 #1
    哦,好的,谢谢老师,之前就是不太知道怎么去 外部生成一个request进行保存.
    回复 有任何疑惑可以回复我~ 2019-05-30 20:40:52
  • bobby 回复 提问者 慕粉3691223 #2
    现在知道了吗?课程中分析过这个地方的源码
    回复 有任何疑惑可以回复我~ 2019-06-01 09:47:35
  • 提问者 慕粉3691223 回复 bobby #3
    谢谢,是的,我看了相关的源码,在scrapy_redis的query.py中有相应的内容,PriorityQueue.push中 有
     data = self._encode_request(request) 这个是把request对象转为data的,里面有放到redis中的数据内容,同时 序列化类是scrapy_redis\\picklecompat.py, 实际引用的类库是 pickle
    回复 有任何疑惑可以回复我~ 2019-06-03 16:58:20
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信