(一)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"
(2)spider文件中把scrapy.Spider改为RedisSpider; 加入redis_key
以上就是scrapy_redis在scrapy框架中的简单配置,更多的配置内容,请查看以往博客介绍
(三)房天下爬虫代码的编写
(一)获取的内容是优选房源
起始页:https://m.fang.com/zf/bj/?jhtype=zf
因为这个页面是下滑刷新的,并没有点击下一页的操作,而是动态JS进行加载的,我们可以使用审查元素中的网络,查看接口请求信息
其中的一个链接:
我们可以看到 page=3 只要我们操控这个变量就完全可以了。
但是:当我们打开上面的链接的时候,出现一堆的乱码:
(二)我们在parse()方法中使用decode 方法解码一下,就可以显示正常了。
def parse(self,response):
print(response.body.decode('utf-8'))