当前位置:   article > 正文

python3 scrapy_redis 分布式爬取房天下存mongodb_python北京转%b1%b1%be%a9

python北京转%b1%b1%be%a9

(一)scrapy_redis 简单介绍

scrapy_redis基于scrapy框架的基础上集成了redis,通过了redis实现了去重,多台服务器进行分布式的爬取数据。

(二)scrapy_redis 简单配置

(1)settings.py 文件中加入两行代码:

#启用Redis调度存储请求队列
SCHEDULER = "scrapy_redis.scheduler.Scheduler"

#确保所有的爬虫通过Redis去重
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
  • 1
  • 2
  • 3
  • 4
  • 5

image.png

(2)spider文件中把scrapy.Spider改为RedisSpider; 加入redis_key

image.png

以上就是scrapy_redis在scrapy框架中的简单配置,更多的配置内容,请查看以往博客介绍

(三)房天下爬虫代码的编写

(一)获取的内容是优选房源

image.png

起始页:https://m.fang.com/zf/bj/?jhtype=zf

因为这个页面是下滑刷新的,并没有点击下一页的操作,而是动态JS进行加载的,我们可以使用审查元素中的网络,查看接口请求信息

image.png

其中的一个链接:

https://m.fang.com/zf/?purpose=%D7%A1%D5%AC&jhtype=zf&city=%B1%B1%BE%A9&renttype=cz&c=zf&a=ajaxGetList&city=bj&r=0.7838634037101673&page=3

我们可以看到 page=3 只要我们操控这个变量就完全可以了。

但是:当我们打开上面的链接的时候,出现一堆的乱码:

image.png

(二)我们在parse()方法中使用decode 方法解码一下,就可以显示正常了。

    def parse(self,response):
          print(response.body.decode(
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/196577
推荐阅读
相关标签
  

闽ICP备14008679号