沪漂小窝(多城市)租房信息整合系统V4.0

2022-04-26 18:59:06 浏览数 (1)

前言:

前情提要:可以先看下沪漂小窝租房信息整合系统V3.0

【如果没有重大变化,v4 将是最终大版本】

上一个版本已经完成了自主分类器的支持,现在的话最终的项目已经基本完成,支持多城市的租房信息的分类查询。

目前支持的城市:上海、北京、广州、深圳、杭州、南京、武汉、重庆、成都,共9个国内一二线城市。 本次作为最终版本的一个文档,介绍此系统主要的功能和上手学习姿势。

需求简介:

爬取豆瓣网几个重点城市(可以先从一个城市开始)租房类小组的帖子,根据帖子内容分析出该租房信息的相关内容,比如出租方式,付款方式,靠近的地铁站,重点区分广告帖子等等,以便在寻找合适的房源的时候进行更针对性的查找,简约用户的信息选择时间。为方便查询提供PC端和移动端两个查询方式。

数据流向:

功能模块:

  • 分类器模块

按照通用的文本分类步骤:

  1. 数据获取
  2. 数据预处理(数据分类:准备训练库和测试库)
  3. 文本中文分词
  4. 计算TF-IDF词向量
  5. 训练分类器。常见的分类算法:朴素贝叶斯、逻辑回归、随机森林、支持向量机。在此案例中,效果差异并不明显,均可以达到90%以上的准确率。
  6. 文本分类预测

本部分需要先提前完成,为了后面爬虫再运行的时候的时候,直接使用分类器进行预测。

其中还需要进行文本相似度的匹配,如果超过一定阈值,则不会进入分类信息表,但是还是会存到租房原始信息表中,详情看 文本去重

  • 爬虫模块

使用Scrapy框架搭建的一个爬虫,获取信息进行过滤,分类,储存到数据库。

这里先学习一下Scrapy,其实比较简单。多城市的支持只是在Scrapy添加多个爬虫,但是因为都是同一个网站,所以处理方法都是通用的。

在douban.py文件中的完成了两个通用处理方法,在需要添加新城市的时候直接引用处理即可。这个前提是同一个网站,如果是不同网站则需要按照不同网站的规则编写处理方法。

  • 查询PC端

使用flask搭建的一个web页面,提供信息的查询、筛选、搜索等功能。

PC端地址更新为:

https://hupiao.mlscoder.cn

账号发布次数】 是最近30天被爬虫抓取到本地数据库中当前帖子创建者发布的帖子数。作为一个辅助判断,如果次数很高,说明当前是一个中介账号发布的信息。

还有一个疑似中介的标签,这个标签是推测这个帖子是一个标准的中介贴,本身没有任何实际的房源信息,只是会写:个人房东直租,XX区域,XX地铁(多个站点)的房源,都可以找我。

地铁站点、价格区间】在v3中这两个选项是文本输入框,不是很符合懒人,所以在v4中修改为选择框的形式。

  • 查询小程序端

使用是SpringBoot搭建后台服务,提供小程序端的查询和服务。详情点沪漂小窝

老版本中有一个定时推送的功能,在最新版本已经删除了,因为我发现,这个功能比较鸡肋,因为在这上面的多数信息都是中介发的,并没有实际的推送价值。

开发相关:

o 开发语言:

  • 爬虫-Scrapy-Python
  • PC端查询-Flask-Python
  • 移动端查询-微信小程序
  • 移动端服务-Springboot-Java

o 数据库:Mysql7

o 项目地址:

Scrapy爬虫 PC查询端:

https://github.com/mlscoder/hupiao

小程序:

https://github.com/mlscoder/hupiao_miniapp

小程序服务端:

https://github.com/mlscoder/hupiao_miniapp_service

使用tips:

Scrapy爬虫 PC端(重点)放在github上。readme里面有详细的说明,这里不再赘述。

master分支是沪漂小窝V3.0版本,单城市版本;

mancities分支是沪漂小窝V4.0版本,多城市版本。

使用时注意区分。欢迎关注我的个人主页:

https://github.com/mlscoder

其他相关:

  • 如果除了上述几个城市还需要新增城市,可以留言,后面将新增支持。
  • 此系统多数方面供学习使用,少数可以用来寻找租房信息,不过根据我对上海地区的信息分析,85%的帖子都是中介发的,即便宜又好的房子基本是3天内都可以出租。
  • 如果没有其他变动,沪漂小窝基本是更新到这里,不会做大的变动,如果有bug也可以反馈。
  • 因为爬虫采集和查询服务是需要代理和服务器(算下来一天至少5块钱),所以觉得好用的有学习价值,可以打赏一下,感谢!

我是马拉松程序员,可不止于代码!

0 人点赞