首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >爬取租房信息,自己设置过滤条件

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

作者头像
用户6825444
发布2020-10-30 11:46:25
5710
发布2020-10-30 11:46:25
举报
文章被收录于专栏:木下学Python木下学Python

前言

源码文末获取

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

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

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

数据获取

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

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

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

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

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

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

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

爬虫 | 五八字体反爬

核心代码如下:

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

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

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

数据过滤

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

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

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

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

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

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

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

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

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

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

源码获取

在公众号回复关键字“租房”获取

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 木下学Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档