當我們對房子有所需求,不管是買房或者租房,都避免不了需要去了解房源,登錄相關(guān)中介網(wǎng)站去了解。這次主要與大家一起分享對中介網(wǎng)站數(shù)據(jù)信息爬取。這里以北京鏈家二手房數(shù)據(jù)為例。
還是分三步,數(shù)據(jù)獲取,數(shù)據(jù)處理,數(shù)據(jù)存儲。
1.數(shù)據(jù)獲取
1)訪問北京鏈家官網(wǎng),通過F12解析瀏覽器,分解頁面輸出數(shù)據(jù)。

image.png
2)以requests包去抓取頁面數(shù)據(jù),示例接口代碼如下:

image.png
這里對數(shù)據(jù)的抓取,主要分兩步,第一步先獲取所有區(qū)域的二手房信息。其次通過指定區(qū)域,獲取指定區(qū)域的二手房數(shù)據(jù)。
這兩步的抓取代碼都是一致的,只不過是URL不同。
2.數(shù)據(jù)解析
接下來就是要對網(wǎng)站URL返回的HTML做數(shù)據(jù)解析了,這里以正則表達式和BeautifulSoup結(jié)合。
1)爬取所有區(qū)域二手房數(shù)據(jù)

image.png
考慮到區(qū)域,和小區(qū)數(shù)量可能過大,所以這里加了多線程。
t = threading.Thread(target=xiaoqu_spider, args=(region, url_page))
t.start()
2)爬取指定區(qū)域二手房數(shù)據(jù)

image.png
這里加以正則表達式,使得數(shù)據(jù)獲取的更加精確,單一通過BeautifulSoup去處理,代碼不美觀且冗余。
3.存儲
最后,也就是最簡單,把數(shù)據(jù)存起來,可以通過表格形式存儲,也可以通過數(shù)據(jù)庫存儲。
這里加上進度條,讓爬取過程更加可視化。

image.png

image.png

image.png
如上圖所示,可以把數(shù)據(jù)存儲到數(shù)據(jù)庫或者表格中。
完整源碼及更多,請參考原文