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