python爬虫刨北上广深的房价来看看
生活随笔
收集整理的這篇文章主要介紹了
python爬虫刨北上广深的房价来看看
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019年過去了,突然想看看外界一直在說的房價跌跌跌,到底跌成了啥樣子,于是,花了點時間,把鏈家上北上廣深杭這幾個熱門城市的二手房單價弄下來看看。
直接上代碼了
(臨近過年,懶了許多,代碼寫得很簡單,各位看官可以跳到最后直接看房價情況即可)
import requests from bs4 import BeautifulSoup import pandas as pd import time#把常用的定義成2個函數方便使用 def get_html(url):headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}res = requests.get(url,headers = headers)code = res.status_coderes.encoding = 'utf-8'soup = BeautifulSoup(res.text,'lxml')return soup,codedef get_data(soup,list_price):items = soup.select('ul[class="sellListContent"] div[class="priceInfo"]')#print(items)for item in items:try:item.texttry:list_price.append(item.select('div[class="unitPrice"]')[0].text[2:-4])except:continueexcept:continue#廣州 list_price = [] list_position = [] url1 = 'https://gz.lianjia.com/ershoufang/' a = ['tianhe','yuexiu','liwan','haizhu','panyu','baiyun','huangpugz','conghua','zengcheng','huadou','nansha'] b = [100,100,100,100,100,100,100,47,100,100,69] for i in range(0,11):url2 = url1+a[i]print("開始爬取"+a[i])time.sleep(3.23422) #這里的暫停可要可不要,我比較善良,爬一個區就讓它休息一下for j in range(1,b[i]+1):url = url2+'/pg%d/'%j#print(url)soup,code = get_html(url)get_data(soup,list_price)list_position = list_position + ([a[i]]*(len(list_price)-len(list_position)))print('爬取完成第%d頁'%j)time.sleep(0.00593)df = pd.DataFrame() df['價格'] = list_price df['區域'] = list_positiondf['價格'] = df['價格'].astype(int) print("全市均價:",df['價格'].mean()) print(df.groupby('區域')['價格'].mean().sort_values(ascending=False))代碼里我偷懶了好多地方,各個城市我都是直接按行政區劃分取數了,代碼里的a就是區域,b就是各個區域對應的頁數(直接一個一個碼上去了,沒有去寫獲取),但是鏈家網有一個限制,一個選項只能展示100頁(3000套房)的房源情況,所以有些區域本來有好幾千套房的,但是我最多也就取了3000套(不管了,反正只是要看一下區域單價,只能取3000套就當是抽樣了)。
如果是要完整獲取所有房源的單價,可以先獲取城市下各個區域的href(下圖1),然后進行url拼接,再到各個區域中取出各個小板塊的href(下圖2),最終拼接成各個板塊的url,最后一步,根據各個板塊url最下方的頁碼欄,取出各個板塊有多少頁房源(下圖3),(極大概率下,板塊的房源不可能會超過3000套的,如果真的有,那你再在各個板塊了根據價格細分就行了)。
?
最最重要的是,把各個城市的房價情況弄出來給大家看(我堅信大部分童鞋是不會自己去跑腳本看結果的)?
看了一下,講真這房價一點都不親民,廣州是四個一線城市中上車成本最低的,均價甚至不及二線城市杭州高。?
總結
以上是生活随笔為你收集整理的python爬虫刨北上广深的房价来看看的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java十进制转化为二进制
- 下一篇: AI-K210 开发家庭万用宝模组(1)