爬取租房信息,自己设置过滤条件

木下学Python

共 1430字,需浏览 3分钟

 · 2020-10-26



前言

源码文末获取

小编可能准备去深圳,需要租房子,在网上先查了查,有很多租房软件,安居客,贝壳等,也向身边的人问了问,安居客听到的次数多一些,于是选择安居客去查看一些租房信息。

在浏览过程中,虽然安居客有过滤标签,按价格,区域,房型,类型这四个来过滤的,但感觉还是不是理想中的信息,而且特别多,看不过来。

所以小编决定使用 python 爬取上面的数据,并自己设置过滤条件,从很多房源中过滤出自己需要的房源,既提高效率,又能找到比较理想的。



数据获取

数据是爬取安居客的租房,过滤条件设置价格为 0-2500元/月,这是小编自己理想能接受的范围,2000 以上偏高但可以先看看:



区域因为不太了解每个行政区的范围,所以不知道每个区域的距离,只选择某个区又太单一了,不能了解整体,所以区域选择默认的全部标签。

一页有 60 条数据,有 50 页,可以得到 3000 条数据,这些足够了,多了也看不过来。

爬虫的逻辑是不难,从第一页一直到最后一页,先爬取每一页房源链接,从爬取房源链接中的详细信息。

主要爬取标题,房屋信息,房屋有的设施,房源概况:




在过程中会遇到两个问题,其一是字体乱码,也就是字体反爬了,详细信息的数字都是加密过的:



破解字体反爬的原理可以参考这篇文章:

爬虫 | 五八字体反爬

核心代码如下:



第二个问题就是会遇到验证码,可能是点击字体的,可能是滑块,很麻烦,所以这个小编是在程序中判断是否出现验证码。

出现验证码程序会输出提示,手动点击验证码后,按回车继续爬取,在爬取过程中小编只遇到过一次验证码。

其他的逻辑比较简单,感兴趣的参考源码即可。



 数据过滤

获得数据就可以自己设置过滤条件了,因为小编需要知道每条房源在哪里,先构造每条房源的区域:




对每个区域的房价分布心理有个底,所以以区域划分,价格划分为 (0,500],(500,1000],(1000,1500],(1500,2000],(2500.3000],一次来查看分布,先计算每个区每个分布,画出柱状图:



图用 pyecharts 画的,区域选择设置的单选,每次可以查看一个区域价格分布。

对价格有个底后,来设置过滤条件,首先小编考虑附近是否有地铁,在数据中【标签】【概况】可以说明。

房源设备也是小编考虑的有网,热水,洗衣机,空调,卫生间,根据这些关键词过滤,过滤了 1000 条左右:



标签中如果有【号线】代表有地铁几号线,那概况中应该也会提到地铁要不然让人怀疑是骗人的,所以以这两个进行过滤,2000 多条一下就过滤剩下 500 多条:



然后小编根据承受能力,选择了 1500 以下的房源:



过滤后一下剩下 200 多条,还是有点多,现在是包含所有区域的:



最后小编根据自己的需求,查看了地图过滤区域,只选择了合适的区域,过滤后自由 84 条数据,并保存:



小编抽取了几条数据,点开链接,大部分还是都能接受。



 源码获取

扫描文末二维码,在公众号回复关键字“租房”获取



END

读者交流群已建立,找到我备注 “交流”,即可获得加入我们~

听说点 “在看” 的都变得更好看呐~

关注关注小编呗~小编给你分享爬虫,数据分析,可视化的内容噢~

扫一扫下方二维码即可关注我噢~


-END-




浏览 7
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报