请稍等 ...
×

采纳答案成功!

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

关于scrapy爬取天气数据的问题

现在我有全国省市区的数据了,我用Thread的方式也能爬取了,但是经常因为报错停止,所以想用scrapy试试。

问题:

  1. 用scrapy时,allowed_domains = 和 start_urls = 怎么填写。
  2. 想查询数据库的省市区表拼成新的URL,然后yield出去,请问怎么实现?

正在回答 回答被采纳积分+3

1回答

bobby 2020-09-26 17:02:09

1. 如果使用requests有问题的话 使用scrapy并不一定能解决

2. allowed_domains = ["wis.qq.com"] start_urls就是你想要抓取的起始页

3. 覆盖start_reuests方法 在该方法中自己拼接url 重新生成新的request 逐个yield出去即可

4. 如果自己有能力重写start_requests方法 那么start_urls随便写, 因为默认的start_requests就是从start_urls中逐个获取url并yield出去而已

0 回复 有任何疑惑可以回复我~
  • 提问者 四月C #1
    感谢老师的回复,其余的问题已经解决了,现在还剩下查询数据库的省市区,拼出新的url了,打算写在def parse(self, response):方法中,但是不知道数据库查询的代码应该放在那里,Pipeline中吗?那这个值如何传递给def parse(self, response):这个方法呢,
    
    
    新手发言,有些语无伦次,老师见谅。
    回复 有任何疑惑可以回复我~ 2020-09-27 14:01:20
  • bobby 回复 提问者 四月C #2
    写在start_requests中啊,其实你也不用担心,后面会讲解scrapy-redis 到时候你将url直接放在redis的某个队列中就行了
    回复 有任何疑惑可以回复我~ 2020-09-28 10:29:16
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信