#学浪2020#
阿里的法拍住宅数量今天看是119万,昨天截图时还是118万,数量增长的应该挺快的。我们今天试着抓取阿里法拍住宅数据。
参考昨天的思路,没有任何有用的线索。阿里网站不提供现成的JSON或者JSONP数据。
但是阿里网站的url中直接带有页码,是不是说我们可以直接通过url来抓取?
好奇就直接试一下,果然可以,直接定义一个函数抓一下:
抓取结果:
真的这么容易么?有点不敢相信,在Power Query中150页每页40条才6000条,明显有问题啊。虽然预览成功了,但是数据本身也是有问题的,数值是万元为单位的,很不规范,所以这份数据应该是有问题的。放弃这种方法。
不过这也提供了一种思路,直接通过url来尝试抓取,是可以的。
我们来到元素查看里,找到这样一段内容,认真观察,这是一个JSON数据,复制到Power Query中可以解析出来:
而且是非常规范的json数据:
展开后得到的数据比我们之前抓取的好很多。
我们用Web.BrowserContents函数就可以得到这份文本,然后从文本中截取出json数据就可以了。
我们在这份文本中还发现了页面上的统计数据:
也可以找到一共有多少页的数据:
对应的是这个位置:
到这里我们的抓取思路基本理清楚了。
我们可以按照区县一级的行政区划来抓取数据,这一级抓取数据需要两个参数,行政编码和页码范围,行政编码可以直接通过相关的网站获取,页码可以在每个区县的第一页上找到。
具体数据的抓取可以定义一个函数,从每一页的代码中截取出JSON数据。
不过对我们来说119万条的具体的房屋信息并没没有什么用,我们感兴趣的是一个统计数据,我们直接从每个区县一级的行政区第一页找到这个统计信息就够了。
fp函数:获取页码范围的函数,用Text.Split函数拆分分本
fn函数:获取统计结果的函数
fd函数:获取具体房屋信息的函数
抓取沈河区的具体房屋信息数据:
沈河区的统计数据:
抓取沈阳市的房屋具体信息:
先找这样一段复制出来:
复制到Power Query中是这样效果,处理一下,就能得到沈阳辖区的区县及编码:
处理结果:
然后我们引用fp函数获取页码范围:
生成全部页码:
展开,添加fd函数抓取数据:
展开数据:
这样具体的房屋信息数据就抓取下来了。
抓取全国区县一级行政区的统计信息,这个要麻烦一点,而且我发现阿里这个行政编码与国家的编码有点出入,会导致数据缺失,大部分还是能对上,少部分不一致。我们找一份全国的区县行政编码表:
整理后的结果:
在这个基础上引用fn函数抓取统计数据:
这个过程很慢,耐心一点,一共3000条左右。
数据加载到Power BI Desktop 做几个图表看看:
热力地图:
条形图:
分解树:
看到没一共是119万,我这里只有107万,少了12万,就是因为编码不一致造成的。
页面更新:2024-03-18
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号