python爬蟲(chóng):青島地區(qū)二手房信息

近來(lái)準(zhǔn)備開(kāi)始做一個(gè)有關(guān)于房?jī)r(jià)的分析項(xiàng)目知给,以重新熟練一下之前的爬蟲(chóng)知識(shí)渺杉,并應(yīng)用一下近來(lái)學(xué)習(xí)的Tableau作圖技巧,本次項(xiàng)目?jī)H做交流使用鹦倚,非具有任何商業(yè)用途。
為了保證信息對(duì)地區(qū)房?jī)r(jià)的真實(shí)反映冀惭,本項(xiàng)目選擇鏈家網(wǎng)作為二手房信息的爬取網(wǎng)站震叙,首先以青島地區(qū)二手房為例進(jìn)行爬取。

第一步散休,導(dǎo)入需要用到的庫(kù)或模塊媒楼。本次使用urllib庫(kù),通過(guò)xpath進(jìn)行網(wǎng)頁(yè)解析戚丸,由于筆者習(xí)慣對(duì)DataFrame形式的數(shù)據(jù)進(jìn)行處理划址,因此在此導(dǎo)入pandas庫(kù)。
import urllib.request
from lxml import etree
import pandas as pd
第二步限府,為了后續(xù)的數(shù)據(jù)框轉(zhuǎn)換更加順利猴鲫,在網(wǎng)頁(yè)解析部分寫(xiě)的有些過(guò)于細(xì)致,如果你不習(xí)慣用DataFrame谣殊,可以采用別的數(shù)據(jù)結(jié)構(gòu)。
house_info = []
for page in range(1,101):
    url = 'https://qd.lianjia.com/ershoufang/pg'+str(page)
    html = urllib.request.urlopen(url).read().decode('utf-8', 'ignore')
    selector = etree.HTML(html)
    page_info = selector.xpath('//li[@class="clear LOGCLICKDATA"]')
    print('正在爬第'+str(page)+'頁(yè)')
    for i in range(len(page_info)):
        house_infor_one = []
        title = page_info[i].xpath('div[@class="info clear"]/div[@class="title"]/a/text()')
        house_infor_one.extend(title if title else ['.'])
        way = page_info[i].xpath('div[@class="info clear"]/div[@class="title"]/span/text()')
        house_infor_one.extend(way if way else ['.'])
        road = page_info[i].xpath('div[@class="info clear"]/div[@class="flood"]/div/a/text()')
        house_infor_one.extend(road if road else ['.'])
        community = page_info[i].xpath('div[@class="info clear"]/div[@class="address"]/div/a/text()')
        house_infor_one.extend(community if community else ['.'])
        house_des = page_info[i].xpath('div[@class="info clear"]/div[@class="address"]/div/text()')
        house_infor_one.extend(house_des if house_des else ['.'])
        floor = page_info[i].xpath('div[@class="info clear"]/div[@class="flood"]/div/text()')
        house_infor_one.extend(floor if floor else ['.'])
        popularity = page_info[i].xpath('div[@class="info clear"]/div[@class="followInfo"]/text()')
        house_infor_one.extend(popularity if popularity else ['.'])
        subway = page_info[i].xpath('div[@class="info clear"]/div[@class="tag"]/span[@class="subway"]/text()')
        house_infor_one.extend(subway if subway else ['.'])
        taxfree = page_info[i].xpath('div[@class="info clear"]/div[@class="tag"]/span[@class="taxfree"]/text()')
        house_infor_one.extend(taxfree if taxfree else ['.'])
        haskey = page_info[i].xpath('div[@class="info clear"]/div[@class="tag"]/span[@class="haskey"]/text()')
        house_infor_one.extend(haskey if haskey else ['.'])
        total_price = page_info[i].xpath('div[@class="info clear"]/div[@class="priceInfo"]/div[1]/span/text()')
        house_infor_one.extend(total_price if total_price else ['.'])
        price_unit = page_info[i].xpath('div[@class="info clear"]/div[@class="priceInfo"]/div[1]/text()')
        house_infor_one.extend(price_unit if price_unit else ['.'])
        per_price = page_info[i].xpath('div[@class="info clear"]/div[@class="priceInfo"]/div[2]/span/text()')
        house_infor_one.extend(per_price if per_price else ['.'])
        house_info.append(house_infor_one)
第三步牺弄,將已經(jīng)整理好格式的數(shù)據(jù)轉(zhuǎn)換為數(shù)據(jù)框姻几,并給他們的列進(jìn)行命名,存到本地文件中,至此我們的數(shù)據(jù)就爬取結(jié)束啦
house_df = pd.DataFrame(house_info)
house_df.columns = ['房源描述', '房源來(lái)源', '房源地址(路)', '小區(qū)名稱', '戶型信息', '樓層', '人氣', '距離地鐵', '房本情況(個(gè)稅)', '看房時(shí)間(鑰匙)', '房源總價(jià)', '房源總價(jià)單位', '房源單價(jià)(平)','備注']
house_df.to_excel('D:/Tsingtao.xls',)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蛇捌,一起剝皮案震驚了整個(gè)濱河市抚恒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌络拌,老刑警劉巖俭驮,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異春贸,居然都是意外死亡混萝,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門萍恕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)逸嘀,“玉大人,你說(shuō)我怎么就攤上這事允粤≌柑龋” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵类垫,是天一觀的道長(zhǎng)司光。 經(jīng)常有香客問(wèn)我,道長(zhǎng)悉患,這世上最難降的妖魔是什么残家? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮购撼,結(jié)果婚禮上跪削,老公的妹妹穿的比我還像新娘。我一直安慰自己迂求,他們只是感情好碾盐,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著揩局,像睡著了一般毫玖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上凌盯,一...
    開(kāi)封第一講書(shū)人閱讀 51,155評(píng)論 1 299
  • 那天付枫,我揣著相機(jī)與錄音,去河邊找鬼驰怎。 笑死阐滩,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的县忌。 我是一名探鬼主播掂榔,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼继效,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了装获?” 一聲冷哼從身側(cè)響起瑞信,我...
    開(kāi)封第一講書(shū)人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎穴豫,沒(méi)想到半個(gè)月后凡简,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡精肃,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年秤涩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肋杖。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡溉仑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出状植,到底是詐尸還是另有隱情浊竟,我是刑警寧澤,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布津畸,位于F島的核電站振定,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏肉拓。R本人自食惡果不足惜后频,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望暖途。 院中可真熱鬧卑惜,春花似錦、人聲如沸驻售。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)欺栗。三九已至毫痕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間迟几,已是汗流浹背消请。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留类腮,地道東北人臊泰。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像蚜枢,于是被迫代替她去往敵國(guó)和親因宇。 傳聞我的和親對(duì)象是個(gè)殘疾皇子七婴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容