python爬取的信息条数比页面显示多_Python爬取分析北京二手房数据?数据结果真的太吓人了...
有個朋友聯系我,想統計一下北京二手房的相關的數據,而自己用Excel統計工作量太過于繁雜,問我用Python該如何實現。
構造要訪問的URL
這里,我試著抓取北京海淀區二手房的相關數據。首先,是觀察一下URL的結構,如下:
獲取每個房子詳細信息的URL
代碼如下:
采用隨機的UA
ua = UserAgent()
headers = {'User-Agent': ua.random}
房屋信息列表
houseInfoArray=[]
爬取海淀區全部的數據
for i in range(1,2):
res = requests.get('http://bj.lianjia.com/ershoufang/haidian/pg'+str(i),headers=headers)
使用html篩選器
soup = BeautifulSoup(res.text, 'html.parser')
print soup
網站每頁呈現30條數據,依次爬取詳細的信息
for j in range(0,30):
獲取房屋詳細信息的鏈接
url = soup.select('.sellListContent')[0].select('.img')[j].get('href', None)
解析每個房子的詳細信息
接下來,獲取到每個房子的URL了,就是爬取URL對應的數據并對一個個的房屋獲取其詳細信息了,思路同上,也是根據源碼獲取相關的標簽,然后獲取數據,這里將每個房子的信息保存在字典中。直接貼代碼:
def gethouseInfo(url):
"""
獲取房子的詳細信息
:param url: 子地址
:param soup: 父XML,可以從中獲取小區信息
:return:
"""
返回的數據類型為字典
info= {}
請求子頁面
res = requests.get(url)
提取子域名內容,即頁面詳細信息
soup=BeautifulSoup(res.text,'html.parser')
小區信息
communityName = soup.select('.overview')[0].select('.content')[0].select('.communityName')[0].select('.info')[0].get_text()
info['communityName'] = communityName
獲取價格信息,包括總價和均價
price = soup.select('.overview')[0].select('.content')[0].select('.price')[0].select('.total')[0].get_text()
unit = soup.select('.overview')[0].select('.content')[0].select('.price')[0].select('.unit')[0].get_text()
info['price'] = price+unit
unitprice = soup.select('.overview')[0].select('.content')[0].select('.unitPrice')[0].select('.unitPriceValue')[0].get_text()
info['unitprice'] = unitprice
獲取房屋戶型
room = soup.select('.overview')[0].select('.content')[0].select('.room')[0].get_text()
info['room'] = room
獲取朝向信息
type = soup.select('.overview')[0].select('.content')[0].select('.type')[0].get_text()
info['type'] = type
獲取房屋面積
area = soup.select('.overview')[0].select('.content')[0].select('.area')[0].get_text()
info['area'] = area
return info
我爬取了30套房子的信息,結果如下:
area communityName price room type unitprice
0 86.3平米1988年建/板樓 金溝河3號院 630萬 3室1廳中樓層/共6層 南 北簡裝 73001元/平米
1 77.1平米2003年建/板樓 百旺新城 620萬 2室1廳頂層/共6層 南 北簡裝 80415元/平米
2 94.31平米2004年建/板樓 幸福時光 690萬 2室1廳高樓層/共6層 南 北簡裝 73163元/平米
3 234.12平米2001年建/板樓 萬泉新新家園 2980萬 4室2廳底層/共6層 南 北平層/精裝 127285元/平米
4 54.5平米1987年建/板塔結合 北洼西里 465萬 2室1廳高樓層/共17層 西南簡裝 85321元/平米
5 107.99平米2000年建/板樓 玉淵潭南路9號院 1360萬 2室1廳中樓層/共6層 南 北精裝 125938元/平米
6 76.07平米2003年建/塔樓 逸成東苑 618萬 2室1廳低樓層/共22層 南 北平層/簡裝 81241元/平米
7 68.39平米1999年建/塔樓 今典花園 698萬 2室1廳低樓層/共26層 南簡裝 102062元/平米
8 83.3平米1990年建/板樓 柳林館 865萬 3室1廳中樓層/共6層 南 北簡裝 103842元/平米
9 114.94平米2002年建/板樓 當代城市家園 830萬 2室2廳中樓層/共11層 南 北精裝 72212元/平米
10 71.6平米1991年建/塔樓 西翠路12號院 710萬 3室1廳中樓層/共18層 東北簡裝 99162元/平米
11 132.78平米2002年建/塔樓 曙光花園 1258萬 3室2廳中樓層/共17層 東南精裝 94743元/平米
12 77.78平米2007年建/塔樓 安寧佳園 520萬 2室1廳高樓層/共18層 西南 北其他 66855元/平米
13 93.7平米1989年建/板樓 塔院小區 850萬 3室1廳中樓層/共6層 東 南 北精裝 90715元/平米
14 69.2平米1992年建/板樓 八里莊北里 570萬 3室1廳底層/共6層 東 西 北簡裝 82370元/平米
15 81.23平米2002年建/塔樓 望河園 710萬 2室1廳低樓層/共17層 西南平層/簡裝 87406元/平米
16 150.05平米2000年建/板樓 美麗園 1550萬 3室2廳低樓層/共7層 南 北精裝 103299元/平米
17 115.04平米未知年建/塔樓 永泰園 690萬 2室1廳中樓層/共31層 東北其他 59979元/平米
18 105.18平米2001年建/塔樓 人濟山莊 1260萬 2室1廳高樓層/共26層 東精裝 119795元/平米
19 88.96平米2003年建/塔樓 逸成東苑 807萬 3室1廳低樓層/共17層 西南精裝 90715元/平米
20 172.56平米2003年建/板樓 萬泉新新家園 2498萬 3室2廳低樓層/共7層 南 北精裝 144761元/平米
21 140.18平米2010年建/板樓 領秀新硅谷1號院 1150萬 3室1廳頂層/共9層 南 北精裝 82037元/平米
22 59.87平米1995年建/板樓 安寧里 410萬 2室1廳高樓層/共6層 南 北精裝 68482元/平米
23 76.58平米2000年建/板樓 永泰園 535萬 2室1廳中樓層/共6層 南 北簡裝 69862元/平米
24 54.7平米1984年建/板樓 翠微南里 528萬 2室1廳中樓層/共5層 東南精裝 96527元/平米
25 72.25平米1994年建/板樓 中關村 770萬 3室1廳底層/共6層 東 西簡裝 106574元/平米
26 59平米1988年建/塔樓 雙榆樹東里 575萬 2室1廳中樓層/共16層 南精裝 97458元/平米
27 57.24平米2000年建/板樓 寶盛里 370萬 1室1廳頂層/共5層 東 西簡裝 64640元/平米
28 66.87平米2006年建/板樓 觀澳園 465萬 1室1廳頂層/共9層 南簡裝 69538元/平米
29 116.47平米2003年建/板樓 誠品建筑 1080萬 2室1廳高樓層/共9層 東 西精裝 92728元/平米
可以發現,海淀的房子無論哪個小區,均價都高哇!那好好學Python吧,用知識武裝自己!
如果你想更多的了解Python,點擊以下視頻跳轉鏈接:
總結
以上是生活随笔為你收集整理的python爬取的信息条数比页面显示多_Python爬取分析北京二手房数据?数据结果真的太吓人了...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 轻松免费下载包图网素材——一招搞定
- 下一篇: 天翼宽带怎么修改无线路由器密码天翼wif