一、查找數(shù)據(jù)所在位置:
打開鏈家官網(wǎng),進(jìn)入二手房頁面,選取某個城市,可以看到該城市房源總數(shù)以及房源列表數(shù)據(jù)。
二、確定數(shù)據(jù)存放位置:
某些網(wǎng)站的數(shù)據(jù)是存放在html中,而有些卻api接口,甚至有些加密在js中,還好鏈家的房源數(shù)據(jù)是存放到html中:
三、獲取html數(shù)據(jù):
通過requests請求頁面,獲取每頁的html數(shù)據(jù)
# 爬取的url,默認(rèn)爬取的南京的鏈家房產(chǎn)信息
url = 'https://nj.***.com/ershoufang/pg{}/'.format(page)
# 請求url
resp = requests.get(url, headers=headers, timeout=10)
代碼中的網(wǎng)站非真真實(shí)網(wǎng)址,不可直接運(yùn)行!
四、解析html,提取有用數(shù)據(jù):
通過BeautifulSoup解析html,并提取相應(yīng)有用的數(shù)據(jù)
soup = BeautifulSoup(resp.content, 'lxml')
# 篩選全部的li標(biāo)簽
sellListContent = soup.select('.sellListContent li.LOGCLICKDATA')
# 循環(huán)遍歷
for sell in sellListContent:
# 標(biāo)題
title = sell.select('div.title a')[0].string
# 先抓取全部的div信息,再針對每一條進(jìn)行提取
houseInfo = list(sell.select('div.houseInfo')[0].stripped_strings)
# 樓盤名字
loupan = houseInfo[0]
# 對樓盤的信息進(jìn)行分割
info = houseInfo[0].split('|')
# 房子類型
house_type = info[1].strip()
# 面積大小
area = info[2].strip()
# 房間朝向
toward = info[3].strip()
# 裝修類型
renovation = info[4].strip()
# 房屋地址
positionInfo = ''.join(list(sell.select('div.positionInfo')[0].stripped_strings))
# 房屋總價(jià)
totalPrice = ''.join(list(sell.select('div.totalPrice')[0].stripped_strings))
# 房屋單價(jià)
unitPrice = list(sell.select('div.unitPrice')[0].stripped_strings)[0]
小結(jié)
以上就是python爬取二手房數(shù)據(jù)的詳細(xì)內(nèi)容,更多python爬蟲實(shí)戰(zhàn)教程請關(guān)注W3Cschool其它相關(guān)文章!