Skip to content
This repository has been archived by the owner on Jun 14, 2022. It is now read-only.

安装说明(Getting Started)

kezhenxu94 edited this page Jun 2, 2018 · 4 revisions

部署方式

获取源码

$ git clone https://github.com/kezhenxu94/house-renting
$ cd house-renting

选择要扒取的城市(目前支持链家, 58 同城):

  • 选择需要从链家扒取的城市:

打开 crawler/house_renting/spider_settings/lianjia.py 文件, 按照注释提示完成城市选择;

# ...
# 只需要在这个列表中添加以下 available_cities 中的城市, 如果只需要扒取一个城市也需要使用一个括号包围, 如 (u'广州',)
cities = (u'广州', u'北京')
# ...
  • 选择需要从 58 同城扒取的城市:

打开 crawler/house_renting/spider_settings/a58.py 文件, 按照注释提示完成城市选择;

# ...
# 只需要在这个列表中添加以下 available_cities 中的城市, 如果只需要扒取一个城市也需要使用一个括号包围, 如 (u'广州',)
cities = (u'广州', u'北京')
# ...

启动服务

为了尽可能满足用户的真实需要和实际使用场景, 作者尽可能利用了各种技术手段来优化本爬虫;

为了方便用户使用该项目, 作者提供了部署本项目所需要用到的服务的 docker-compose.yml 文件, 但由于 Docker 本身的局限性, 导致在 Windows 非专业版上必须使用 Docker Toolbox 并因此带来了许多问题, 详细参考这里;

如果你遇到这样的问题, 可以在这里给提 Issue, 如果你遇到并自己解决了这样的问题, 欢迎在这里提 Pull Request帮助优化该项目;

使用 Docker (推荐)

作者使用的是 Mac Docker CE 版, 具体版本号为 Version 18.03.1-ce-mac65 (24312);

$ docker-compose up --build -d

手动部署 (不推荐)

  • 安装 Elasticsearch 5.6.9 和 Kibana 5.6.9 并启动

此处下载并安装 Elasticsearch 和 Kibana;

理论上更新的版本也适用于该项目;

  • 安装 Redis 并启动

此处下载并安装 Redis;

  • crawler/house_renting/settings.py 文件中配置相关的主机和端口;
# ES 节点, 可以配置多个节点(集群), 默认为 None, 不会存储到 ES
ELASTIC_HOSTS = [
    {'host': 'elastic', 'port': 9200},
]

REDIS_HOST = 'redis'  # 默认为 None, 不会去重
REDIS_PORT = 6379  # 默认 6379
  • 安装 Python 依赖
$ cd crawler
$ pip install -r requirements.txt
  • 启动爬虫

在不同的命令行窗口中启动需要扒取的网站爬虫

$ scrapy crawl douban # 扒取豆瓣
$ scrapy crawl lianjia # 扒取链家
$ scrapy crawl 58 # 扒取 58 同城

查看结果

看图选房

爬虫运行扒取到数据后会有 house_renting/data 目录被创建, 其中的 images 文件夹下载了租房信息中的图片, 用户可以使用图片浏览器查看该文件夹中的图片, 看到合适的房子图片后, 使用图片文件名到 Kibana 中搜索, 找到相应的租房信息详情;

由于 Docker Toolbox 的问题, 在 Windows 上使用 Docker Toolbox 时可能无法挂载除了 C:\Users\ 目录之外的目录, 此问题作者尝试过多种解决方式, 暂时无解; 欢迎大佬解决并提 PR;

搜索关键字

打开浏览器, 定位到 http://127.0.0.1:5601 (请根据 Docker 的 IP 相应更改 Kibana 对应的 URL 地址).

截图是更新 Kibana 版本前的, 只是界面主题不一样, 操作一样, 不要慌~~

设置索引模式

设置索引模式

在图中的 Index pattern 输入框中输入 house_renting, 然后按下 TAB 键, Create 按钮会变为可用状态, 此时点击 Create 按钮; 如果此时 Create 按钮还不能用, 是因为爬虫还没有扒取到数据入 Elasticsearch, 需要多等一会儿, 如果长时间这样, 需要检查爬虫服务是否启动成功;

切换到 Discover 页面

切换到 Discover 页面

添加字段

添加字段

按时间排序

按时间排序

搜索一个关键字

搜索一个关键字

搜索多个个关键字

搜索多个关键字

展开详细信息

展开详细信息

关闭/重启服务

如果要关闭服务, 请在 docker-compose.yml 同级目录执行 docker-compose down; 如果要重启服务, 请先执行 docker-compose down 再启动服务, 启动服务命令见前面;