为了买房,我抓取了某家房源的成交数据(分析篇)
一、缘起
最近贷款利率不断的下降,以及到了结婚的年纪,打算买套房来当做婚房,不然结婚后还得租房住,不断搬家实在扛不住啊。
下定决心后(毕竟要背负大几百万的贷款,所以给自己做了很多心理建设,哈哈),于是加入了看房的大队伍中。随着看房累积的经验不断的增加,越发感觉中介这行水很深,真是为了成交什么手段都能用出来的。当然也有非常专业的中介,给了很多客观的意见,但还是少数
考虑到没办法一直关注房源的变化,而且北京的房源是不显示成交价的,作为一名资深头秃程序猿,那必然是想着有没有什么神奇的操作可以解决这两个问题,所以要实现的目标呼之欲出
- 房源变动每日报表
- 抓到房源成交价
经过缜密的分析(玩游戏等待加载的时候看了看),发现可以实现,于是快速的付出了行动(打完N局游戏之后)
本系列共分为两篇文章《为了买房,我抓取了某家房源的数据-分析篇》,《为了买房,我抓取了某家房源的数据-实战篇》,本篇为原理分析篇,关注后食用更佳~
二、效果展示
为了证明本刁的强大,那必然先上效果,大家且看下图
由于本刁是后端码农,实在不善于美化界面,大家将就着看
数据主要分为两大块,有每日变动的数据以及全部的数据
黄色的标题代表的是今日变动的数据,有成交的房源,停售的房源,如果有新上架的房源也会展示在内
全部数据指的是从抓取到至今所有的房源数据详情
而且如果房源是已成交的话,会展示房源的【签约日期】、【签约价格】以及【成交周期】
三、分析
3.1 某家业务的承载方式
看了效果图,下面着手分析下这个需求,该如何实现
首先需要了解的是某家业务的承载形式以及数据获取的难易程度,主要有:
- 某家APP。手机APP可做的功能很多,一般都会有防抓包以及数据加密的功能,数据获取难度高
- 某家网站。在浏览器上即可访问以及抓包,数据获取较为容易
- 某家小程序。在微信上访问的,需要工具来抓包,数据获取难度一般
根据数据获取的难易程度,在浏览器上可直接打开的某家网站无疑是首选。
于是对某家网站进行抽丝剥茧的分析,这个过程非常重要,需要戒骄戒躁
3.2 数据获取流程分析
首当其中的是,如何获取心仪小区的全部房源信息?
链家提供了对指定小区的房源进行搜索的功能,如下图所示,可以拿到小区的总信息和房源信息,若一页放不下的话还需要翻页,具体如下图
有了上面这份数据,新上架的房源信息就可以拿到了,公式为:今天新上架的房源 = 今天的所有房源 - 昨天所有的房源
,这公式的复杂程度让我连连称自己为小天才
对于下架/停售的房源和成交的房源,链家做了一定的限制,需要关注该房源后等到【下架/停售】或【成交】的时候才会在关注列表中改变房源的状态信息,如下:
在关注列表中停售的房源图
在关注列表中成交的房源图
那么理论上,我们只要关注这个小区的所有房源,然后不断的遍历其状态就可以拿到下架和停售的房源信息喽
说起简单,做起来也简单,这涉及到两个点:
- 登录
- 关注房源
大部分网站登录态的保存都是借用的cookie的功能,我们在访问接口的时候直接把所有的cookie扔进去即可,这些技术细节我会在实现篇详细介绍,这里暂时不需要关注
对于关注房源,关注一下,抓个包就OK了,看起来也挺简单,这些细节就让我们相约实战篇吧~
四、总结
本篇文章主要对链家的网站进行了分析,找到合适的数据信息,下面实战篇将会介绍如何抓包、解析出自己需要的数据以及邮件通知
本系列文章仅供学习使用,不得用于违法犯罪行为