# 房天下全国新房二手房分布式爬取 **Repository Path**: Fdkhome/ftx ## Basic Information - **Project Name**: 房天下全国新房二手房分布式爬取 - **Description**: 利用scrapy框架和scrapy-redis组件,对房天下网站中全国的新房二手房信息进行分布式爬取 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2018-11-04 - **Last Updated**: 2021-01-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 房天下全国新房二手房分布式爬取 #### 项目介绍 利用scrapy框架和scrapy-redis组件,对房天下网站中全国的新房二手房信息进行分布式爬取 #### 软件架构 软件架构说明 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 ##### 1、`ubuntu`爬虫服务器部署: 1. 首先在`ubuntu`中安装项目环境。 2. 安装`redis`。 3. 安装`scrapy`。 4. 将项目打包,在`ubuntu`使用`rz命令`将打包的项目导入进来。 5. 运行爬虫。 6. 在`redis`服务器中设置`redis_key`的值。然后爬虫服务器会自动下载。 7. 可以将存在`redis`中的数据进行处理,然后存入`MongoDB`或`MySQL`中。 ##### 2、编写Scrapy-Redis分布式爬虫: 要将`Scrapy`项目变成一个`Scrapy-Redis`项目只需修改以下三点就可以了。 1. 将爬虫的类从`scrapy.Spider`变成`scrapy_redis.spider.RedisSpider`;或者是将`scrapy.CrawlSpider`变成`scrapy_redis.spiders.RedisCrawlSpider`。 2. 将爬虫中的`start_urls`删掉。增加一个`redis_key = "xxx"`,例如`redis_key = "ftx:start_urls"`。 这个`redis_key`是为了以后在`redis`中控制爬虫的启动的。爬虫的第一个`url`,就是在redis中通过这个发送出去的。 3. 在配置文件中增加如下配置: ```python # Scrapy-Redis相关配置 # 确保request存储到redis中 SCHEDULER = "scrapy_redis.scheduler.Scheduler" # 确保所有爬虫共享相同的去重指纹 DUPEFILTER_CLASS = "scrapy_redis.dupefilter.REPDupeFilter" # 设置redis为item pipeline ITEM_PIPELINES = { 'scrapy_redis.pipelines.RedisPipeline' : 300 } # 在redis中保持scrapy-redis用到的队列,不会清理redis中的队列,从而可以实现暂停和恢复的功能 SCHEDULER_PERSIST = True # 设置连接redis信息 REDIS_HOST = '127.0.0.1' REDIS_PORT = 6379 ``` 4. 运行爬虫: - 在爬虫服务器上。进入爬虫文件所在的路径,然后输入命令:`scrapy runspider [爬虫名字]`。 - 在`Redis`服务器上,推入一个开始的url链接:`redis-cli> lpush [redis_key] start_url`开始爬取。 #### 参与贡献 1. Fork 本项目 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)