重磅:鏈家成交數據和在售數據自動爬蟲 (技術交流,請勿做爲商業運做)
開源地址:html
https://github.com/AnyMarvel/LianjiaSpiderpython
https://gitee.com/dssljt/LianjiaSpidergit
歡迎吐槽,歡迎提交buggithub
前言:鏈家數據爬蟲,本文采用兩種方式
-
常見的分析PC端HTML進行數據爬取(簡單實如今售數據爬取,成交數據須要在移動端查看)web
-
破解鏈家移動端簽名密鑰,使用客戶端接口進行爬取(在售數據及成交數據爬取)正則表達式
篇幅有限,文章中excle截圖均爲部分截圖json
目錄結構:
- HomeLinkTest : Android 工程(用於破解鏈家App簽名驗證內容)
- jsonSource: 鏈家客戶端json傳內容樣本,包含(成交商品列表頁,成交商品詳情頁,成交商品更多內容頁)(在售商品列表頁,在售商品詳情頁,在售商品更多內容頁)
- spider:鏈家爬蟲腳本(python腳本)(爬取PC端在線數據,移動端在售數據和成交數據)
實現功能:
一. web界面爬取
爬取web界面在售內容 https://bj.lianjia.com/ershoufang/ 僅爬取在售內容(使用正則表達式進行內容匹配,進行結果輸出)(經常使用爬蟲方法,分析界面html進行內容獲取,使用動態代理假裝客戶端進行訪問具體內容進參考代碼)服務器
python LianjiaSpider/spider/salingInfoSpider.py
使用代理服務器(開源地址):app
https://raw.githubusercontent.com/fate0/proxylist/master/proxy.listide
進行代理服務器設置,抓取到內容後進行相對目錄excle目錄內容存儲,運行圖如圖所示: (輸入頁數爲鏈家PC頁面當前第幾頁內容)
爬取結果圖如圖所示(在相對salingInfoSpider.py目錄生成LianJiaSpider.xls excle表格):
二.移動端數據爬取(在售,成交)
基於鏈家app:https://bj.lianjia.com/ 針對其簽名校驗進行破解
獲取對應的json內容,進行自動爬取(僅作技術交流,請勿進行商業應用或其餘侵權行爲)
- 在售數據爬取:
python LianjiaSpider/spider/zaishou/zaiShouSpider.py
設置爬取頁數和一頁多少數據
結果生成在同級目錄中生成excle,如圖所示:
- 成交數據爬取:
python LianjiaSpider/spider/zaishou/chengJiaoJiaSpider.py
修改全局設置,註銷手動輸入,或使用手動輸入:
chengJiaoJiaSpider.py中可設置爬取頁數,其實位置,從第0頁開始,因此是-100開始
成交數據如圖所示:
- 在售及成交數據自動爬取:
python LianjiaSpider/spider/Spider_Thread_Manager.py
執行的爲在售和成交的自動爬蟲運行邏輯 若有問題請留言,轉載請註明
特別提示:僅作技術交流,請勿做爲其餘用途,謝謝配合
app簽名密鑰破解,爬蟲基本基本實例會稍後更新
原文地址:https://www.jianshu.com/p/c180853bc128 關注公衆號,得到更多內容: