使用beautifulsoup包爬取鏈家網(wǎng)徐匯地區(qū)的房價
首先導入需要使用的包

點進鏈家網(wǎng)站,選擇徐匯地區(qū),發(fā)現(xiàn)網(wǎng)頁地址為‘https://sh.lianjia.com/ershoufang/xuhui/pg1’
所以先定義兩個函數(shù),一個是輸入‘https://sh.lianjia.com/ershoufang/xuhui/’,自動獲取N頁的地址。

F12打開網(wǎng)頁開發(fā)者工具,發(fā)現(xiàn)每個房子的次級頁面是在class為‘info clear’的div里,用request包中的Request向網(wǎng)頁發(fā)送請求,然后用urlopen打開請求,最后用Beautiful對網(wǎng)頁進行解析。


下面是爬取網(wǎng)頁的主程序,我們需要爬取的是房價、房屋位置、房屋名字、房屋戶型。
定義url='https://sh.lianjia.com//ershoufang//xuhui//'。定義headers信息。先獲取到100頁的徐匯區(qū)房價網(wǎng)址。

爬取信息并且寫入csv文件,首先打開一個csv文件,準備寫入。遍歷每個子頁面并且對子頁面進行解析,并且將信息寫入p,hi,name幾個列表。

上面程序中的loc=getlocation(name[n])是調用了一個百度api接口,在上面定義了一個getlocation函數(shù),輸入小區(qū)的位置可以獲取小區(qū)的精度和緯度。

接下來就是把數(shù)據(jù)寫入字典。

最后得到了一個house字典,導出整合成網(wǎng)頁熱力圖需要的格式,放入html文件中,生成熱力圖。

熱力圖中越紅的區(qū)域代表房價越高。
可見越靠近地鐵沿線房價越高,尤其是一號線。