scrapy爬取网页编码思路的问题

我在mongodb里存了4万个url,我想对每一个url进行爬取,那么在start_requests()方法里,应该用怎样的方法比较好呢?解析函数和其他的我已经写好了。
我自己一开始是想直接取出所有的url,组成一个list,用for循环去yield Request,但是我总感觉这个办法很蠢。。。初学者,大伙给点意见,谢谢啦~

阅读 2.5k
1 个回答

先从 mongodb 中提取所有 url 到 redis 队列中, 然后再循环队列取出 url:

def start_requests(self):
    cache = redis.Redis()
    key = 'Crawl_url'
    while not cache.llen():
        url = cache.lpop(key)
        yield scrapy.Request(url)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题