当我们对房子有所需求,不管是买房或者租房,都避免不了需要去了解房源,登录相关中介网站去了解。这次主要与大家一起分享对中介网站数据信息爬取。这里以北京链家二手房数据为例。
还是分三步,数据获取,数据处理,数据存储。
1.数据获取
1)访问北京链家官网,通过F12解析浏览器,分解页面输出数据。
2)以requests包去抓取页面数据,示例接口代码如下:
这里对数据的抓取,主要分两步,第一步先获取所有区域的二手房信息。其次通过指定区域,获取指定区域的二手房数据。
这两步的抓取代码都是一致的,只不过是URL不同。
2.数据解析
接下来就是要对网站URL返回的HTML做数据解析了,这里以正则表达式和BeautifulSoup结合。
1)爬取所有区域二手房数据
考虑到区域,和小区数量可能过大,所以这里加了多线程。
t = threading.Thread(target=xiaoqu_spider, args=(region, url_page))
t.start()
2)爬取指定区域二手房数据
这里加以正则表达式,使得数据获取的更加精确,单一通过BeautifulSoup去处理,代码不美观且冗余。
3.存储
最后,也就是最简单,把数据存起来,可以通过表格形式存储,也可以通过数据库存储。
这里加上进度条,让爬取过程更加可视化。
如上图所示,可以把数据存储到数据库或者表格中。
完整源码及更多,请参考原文