程序员租房技巧,爬一个好房

开始

通过爬虫自己做个检索来找房子,有了这个想法后就试着做一下,首先有一个大概思路:

  • 写一个爬虫程序,尽可能解析出房子相关信息作为字段存储。
  • 将数据存放在 ES(Elasticsearch)中便于查找。
  • 使用 kibana 实现查询和分析,因其作为 ELK 经典组件,在查询分析上的强大优势不再多言。

需开发的爬虫可分为如下模块:

  • 控制模块:作为起始开关和任务管理
  • 抓取模块:输入一个网址,输出网页内容
  • 解析模块:接收一段内容,输出有价值的字段信息,以及下一页等更多待解析的任务
  • 存储模块:简单的做一个 map 进行运行时去重,然后将信息写入 ES

整个架构和其他爬虫基本一样,但自如为防止爬虫,搜索结果最多显示50页,对应办法就是遍历重要的查询参数,比如城市、地铁站、房子类型等。于是解析模块的顺序大概是:

1. 城市列表解析器,用来解析不同城市(当然这里只需要北京)

2. 地铁站解析器,用来解析出不同的地铁站

3. 房屋列表解析器,用来解析每一页的房屋列表和下一页待解析的任务

4. 房屋详情解析器,用来解析房屋的详细信息,如朝向、面积、户型、楼层、阳台、室友等

这里需要注意几点:

1. 爬虫使用 golang,它本身没有解析库,可以用第三方的 css 样式选择器、xpath,也完全可以用正则搞定,这里主要用正则实现,部分地方试用了下 css 选择器。

【声明】:芜湖站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章