前言:
“沪漂小窝”是我自己给这个小系统起的项目名称,起因是在19年,我开始学习Python的时候为了实践开发的一个学习类demo,后来几经更新,到现在已经更新V3,也就是第3版本。这个版本最大的更新是之前通过百度Api进行的分类,转成自己训练的分类器进行分类。也就是说,现在所有的功能都是具有自主知识产权。下面是V3的系统简介,综合之前的内容,如果你是刚来的,不用看之前的内容的,直接看这个就行。
需求简介:
爬取豆瓣网上海地区租房类小组的帖子,根据帖子内容分析出该租房信息的相关内容,比如出租方式,付款方式,靠近的地铁站,重点区分广告帖子等等。以便在寻找合适的房源的时候进行更针对性的查找,简约用户的信息选择时间。
功能模块:
- 爬虫模块
使用scrapy框架搭建的一个爬虫,获取信息进行过滤,分类,储存到数据库。
新版本特性:
- 删除了百度Api的调用模式的分类,添加了机器学习方式训练得到的分类器
- 自行训练的分类器准确率在95%以上,比原来的提高了近10%
- 查询PC端
使用flask搭建的一个web页面,提供信息的查询、筛选、搜索等功能。
PC端地址更新为:hupiao.mlscoder.cn
新版本特性:
- 删除了地铁线路和小区的标签
- 添加了创作者身份的预测,新添加了一栏“广告帖子”的维度判断
- 查询小程序端
使用是springboot搭建后台服务,提供小程序端的查询和推动服务。沪漂小窝
新版本特性:
- 添加了详情页面的分享,在浏览帖子详情页面的时候,可以直接右上角发送给朋友,对方打开后直接进入你浏览的页面
开发相关:
o 开发语言:
- 爬虫-Scrapy-Python
- PC端查询-Flask-Python
- 移动端查询-微信小程序
- 移动端服务-Springboot-Java
o 数据库:Mysql7
o 项目地址:
Scrapy爬虫 PC:
https://github.com/mlscoder/hupiao
小程序:
https://gitee.com/mlscoder/hupiao_miniprogram
小程序服务端:
https://gitee.com/mlscoder/hupiao_service
使用tips:
1. 豆瓣有反爬限制,主要是限制ip的请求次数,具体的阈值我没试过,解决方法也是比较简单粗暴,就是用代理。学习推荐使用阿布云,1元/小时,16元/天。长期使用推荐蚂蚁代理,3元/天,效果较差,需要添加相关的重启方法。
2. 数据库推荐搭建一个自己的开发测试云数据库,具体的的方法不细说,在之前的文章中说过,本地的也可以。
3. 在使用框架之前可以先学习了解一下,不是每一个爬虫都需要用scrapy,看具体的需求而定。
4. 在爬取后的信息中,添加了一个次数。这个次数代表,该账号最近一个月时间内发布帖子的次数,简单区分是否是个中介或者专职二房东,通过用户行为给用户贴上标签,以后筛选。
5.Scrapy爬虫 PC(重点)放在github上。readme里面有详细的说明,这里不再赘述。欢迎关注我的个人主页:
https://github.com/mlscoder
开发难点:
1. 反爬。上面已经提到了,给的方法是目前我测试过来说最有效的,为此被封了4个豆瓣账号。
2.自动化文本分类。需要用到一点机器学习的小知识。顺便打个广告,我把整个项目所有用到的知识点,从头到尾梳理了一遍,写了一本关于Python数据爬取、分析以及可视化之类的内容的书籍,后续有可以关注一下,算是这个项目的实际操作文档。
我是马拉松程序员,可不止于代码!五一快乐