App下載

python怎么爬取二手房的數(shù)據(jù)?爬蟲實(shí)戰(zhàn)!

詩(shī)與彼方 2021-07-19 16:08:26 瀏覽數(shù) (3271)
反饋

一、查找數(shù)據(jù)所在位置:

打開鏈家官網(wǎng),進(jìn)入二手房頁(yè)面,選取某個(gè)城市,可以看到該城市房源總數(shù)以及房源列表數(shù)據(jù)。

網(wǎng)頁(yè)分析

二、確定數(shù)據(jù)存放位置:

某些網(wǎng)站的數(shù)據(jù)是存放在html中,而有些卻api接口,甚至有些加密在js中,還好鏈家的房源數(shù)據(jù)是存放到html中:

網(wǎng)頁(yè)分析

三、獲取html數(shù)據(jù):

通過requests請(qǐng)求頁(yè)面,獲取每頁(yè)的html數(shù)據(jù)

# 爬取的url,默認(rèn)爬取的南京的鏈家房產(chǎn)信息
url = 'https://nj.***.com/ershoufang/pg{}/'.format(page)
# 請(qǐng)求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信息,再針對(duì)每一條進(jìn)行提取
    houseInfo = list(sell.select('div.houseInfo')[0].stripped_strings)
    # 樓盤名字
    loupan = houseInfo[0]
    # 對(duì)樓盤的信息進(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)教程請(qǐng)關(guān)注W3Cschool其它相關(guān)文章!



0 人點(diǎn)贊