加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

程序员租房妙招,爬一个好房

发布时间:2019-03-17 09:21:40 所属栏目:建站 来源:51Reboot
导读:配景 春节事后回京,本想好好苏息两天功效家里迎来了不速之客老鼠。最后通过一系列的操纵终于乐成捕捉一家 8 口,这个进程笔者就不做多描写了。因为此次捕鼠变乱留下阴影抉择搬离。和媳妇开始探求吻合的房源,这还只是一个开始;之后看好屋子(屋子还在设置
副问题[/!--empirenews.page--]

配景

春节事后回京,本想好好苏息两天功效家里迎来了不速之客——老鼠。最后通过一系列的操纵终于乐成捕捉一家 8 口,这个进程笔者就不做多描写了。因为此次捕鼠变乱留下阴影抉择搬离。和媳妇开始探求吻合的房源,这还只是一个开始;之后看好屋子(屋子还在设置中)跟管家约定好开释当日签约;和媳妇两台手机两台电脑抢屋子功效照旧当面错过。就算是双十一也不外云云吧!

之后继承找房发明基于小区搜刮房源功效很禁绝确(用地铁站能过滤出来的,但直接用小区名就是搜不全),再加上想对当前市场房源有一个更清楚的相识,于是便有了一个设法——可否通过爬虫本身做个检索来找屋子。

措施员租房妙招,爬一个好房

开始

通过爬虫本身做个检索来找屋子,有了这个设法后就试着做一下,起首有一个或许思绪:

  • 写一个爬虫措施,尽也许理会出屋子相干信息作为字段存储。
  • 将数据存放在 ES(Elasticsearch)中便于查找。
  • 行使 kibana 实现查询和说明,因其作为 ELK 经典组件,在查询说明上的强盛上风不再多言。

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

  • 节制模块:作为起始开关和使命打点
  • 抓取模块:输入一个网址,输出网页内容
  • 理会模块:吸取一段内容,输出有代价的字段信息,以及下一页等更多待理会的使命
  • 存储模块:简朴的做一个 map 举办运行时去重,然后将信息写入 ES

整个架构和其他爬虫根基一样,但自如为防备爬虫,搜刮功效最多表现50页,对应步伐就是遍历重要的查询参数,好比都市、地铁站、屋子类械寥。于是理会模块的次序或许是:

1. 都市列表理会器,用来理会差异都市(虽然这里只必要北京)

2. 地铁站理会器,用来理会出差异的地铁站

3. 衡宇列表理会器,用来理会每一页的衡宇列表和下一页待理会的使命

4. 衡宇详情理会器,用来理会衡宇的具体信息,如朝向、面积、户型、楼层、阳台、室友等

这里必要留意几点:

1. 爬虫行使 golang,它自己没有理会库,可以用第三方的 css 样式选择器、xpath,也完全可以用正则搞定,这里首要用正则实现,部门处所试用了下 css 选择器。

措施员租房妙招,爬一个好房

2. 部门房间信息如地铁站、地铁线路、所属 url、阳台、装修气魄威风凛凛在衡宇详情中不轻易提取,可以在上一级页面如衡宇列表中得到。

措施员租房妙招,爬一个好房

措施员租房妙招,爬一个好房

措施员租房妙招,爬一个好房

3. 房租价值做了反爬虫处理赏罚,不轻易得到,详细是价值为差异图片拼接,这些图片按照一个静态随机页面搭配 offset 举办判定,然后通过 ocr 举办根基图片辨认就能获得。

措施员租房妙招,爬一个好房

在上一级的网页源码中可以发明对应的原始图片和序号,这样就很简朴了。

措施员租房妙招,爬一个好房

接下来是图片辨认,必要用到一个利器——tesseract(https://github.com/tesseract-ocr/tesseract/wiki)

措施员租房妙招,爬一个好房

措施员租房妙招,爬一个好房

措施员租房妙招,爬一个好房

尽量有这么个神器,但理会乐成率依然不能担保 100%,尤其是在没有实习的环境下,因此就必要像上面代码中那样,在短期内想进步服从就添加部门人工识此外代码,并低落一再事变,也能根基满意需求。

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读