前言:
对于我来说,学习编程最简单也是最有效的方式就是写代码。所以去年我在学习python的时候,就从最基本的爬虫入手。快速过了网上的视频,之后就动手写代码。完成这个需求前前后后大约用了两个月,你说我现在精通python吗?屁,啥也不是,但是我现在还是能写代码。我还是一直表达的个人的观点:眼过千遍,不如手过一遍。
需求简介:
爬取豆瓣网上海地区租房类小组的帖子,根据帖子内容分析出该租房信息的相关内容,比如出租方式,付款方式,所以小区,靠近的地铁站等等。以便在寻找合适的房源的时候进行更针对性的查找,简约用户的信息选择时间。
功能模块:
- 爬虫模块
使用scrapy框架搭建的一个爬虫,获取信息进行过滤,分类,储存到数据库
- 查询 PC端
使用flask搭建的一个web页面,提供信息的查询、筛选、搜索等功能。
- 查询 小程序端
使用是springboot搭建后台服务,提供小程序端的查询和推动服务。点击这里体验沪漂小窝
开发相关:
o 开发语言:Python(Scrapy Flask) Java(Springboot)
o 数据库:Mysql8
o 项目地址:https://github.com/liudrain/hupiao_crawler
使用tips:
1. 豆瓣有反爬限制,主要是限制ip的请求次数,具体的阈值我没试过,解决方法也是比较简单粗暴,就是用代理。学习推荐使用阿布云,1元/小时,16元/天。长期使用推荐蚂蚁代理,3元/天,效果较差,需要添加相关的重启方法。
2. 数据库推荐搭建一个自己的开发测试云数据库,具体的的方法不细说,在之前的文章中说过,本地的也可以。
3. 在使用框架之前可以先学习了解一下,不是每一个爬虫都需要用scrapy,看具体的需求而定。
4. 在爬取后的信息中,添加了一个次数。这个次数代表,该账号最近一个月时间内发布帖子的次数,简单区分是否是个中介或者专职二房东,通过用户行为给用户贴上标签,以后筛选。
开发难点:
1. 难点还是在反爬上,上面已经提到了,给的方法是目前我测试过来说最有效的,为此被封了4个豆瓣账号。
2. 文本分类直接使用的百度的开放平台,自己做分类也可以,是有一定技术难度的。
后续说明:
1. 后面拿到1个月的数据后,还可以做数据分析,从而深入学习python,
2. 以上代码仅供参考,小程序和pc端的代码比较简单,需要需要的话可以私聊我,没有放在代码托管平台上。