日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

爬虫+数据分析:重庆买房吗?爬取重庆房价

發(fā)布時間:2024/9/30 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 爬虫+数据分析:重庆买房吗?爬取重庆房价 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

現(xiàn)在結(jié)婚,女方一般要求城里有套房。要了解近些年的房價,首先就要獲取網(wǎng)上的房價信息,今天以重慶鏈家網(wǎng)上出售的房價信息為例,將數(shù)據(jù)爬取下來分析。

爬蟲部分

一.網(wǎng)址分析
https://cq.fang.lianjia.com/loupan/

下面我們來分析我們所要提取的信息的位置,打開開發(fā)者模式查找元素,我們找到房子如下圖.如圖發(fā)現(xiàn),一個房子信息被存儲到一個li標簽里。

單擊一個li標簽,再查找房子名,地址,房價信息。

網(wǎng)址分析,當我點擊下一頁時,網(wǎng)絡(luò)地址pg參數(shù)會發(fā)生變化。
第一頁pg1,第二頁pg2…

二.單頁網(wǎng)址爬取
采取requests-Beautiful Soup的方式來爬取

from bs4 import BeautifulSoup import numpy as np import requests from requests.exceptions import RequestException import pandas as pd #讀取網(wǎng)頁 def craw(url,page):try:headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3947.100 Safari/537.36"}html1 = requests.request("GET", url, headers=headers,timeout=10)html1.encoding ='utf-8' # 加編碼,重要!轉(zhuǎn)換為字符串編碼,read()得到的是byte格式的html=html1.textreturn htmlexcept RequestException:#其他問題print('讀取error')return Nonefor i in range(1,2):#遍歷網(wǎng)頁1url="https://cq.fang.lianjia.com/loupan/pg"+str(i)+"/"html=craw(url,i)print(html)print('結(jié)束')

三.網(wǎng)頁信息提取

#解析網(wǎng)頁并保存數(shù)據(jù)到表格 def pase_page(url,page):html=craw(url,page)html = str(html)if html is not None:soup = BeautifulSoup(html, 'lxml')"--先確定房子信息,即li標簽列表--"houses=soup.select('.resblock-list-wrapper li')#房子列表"--再確定每個房子的信息--"for house in houses:#遍歷每一個房子"名字"recommend_project=house.select('.resblock-name a.name')recommend_project=[i.get_text()for i in recommend_project]#名字 英華天元,斌鑫江南御府...#print(recommend_project)"類型"house_type=house.select('.resblock-name span.resblock-type')house_type=[i.get_text()for i in house_type]#寫字樓,底商...#print(house_type)"銷售狀態(tài)"sale_status = house.select('.resblock-name span.sale-status')sale_status=[i.get_text()for i in sale_status]#在售,在售,售罄,在售...#print(sale_status)"大地址:如['南岸', '南坪']"big_address=house.select('.resblock-location span')big_address=[i.get_text()for i in big_address]#['南岸', '南坪'],['巴南', '李家沱']...#print(big_address)"具體地址:如:銅元局輕軌站菜園壩長江大橋南橋頭堡上"small_address=house.select('.resblock-location a')small_address=[i.get_text()for i in small_address]#銅元局輕軌站菜園壩長江大橋南橋頭堡上,龍洲大道1788號..#print(small_address)"優(yōu)勢。如:['環(huán)線房', '近主干道', '配套齊全', '購物方便']"advantage=house.select('.resblock-tag span')advantage=[i.get_text()for i in advantage]#['環(huán)線房', '近主干道', '配套齊全', '購物方便'],['地鐵沿線', '公交直達', '配套齊全', '購物方便']#print(advantage)"均價:多少1平"average_price=house.select('.resblock-price .main-price .number')average_price=[i.get_text()for i in average_price]#16000,25000,價格待定..#print(average_price)"總價,單位萬"total_price=house.select('.resblock-price .second')total_price=[i.get_text()for i in total_price]#總價400萬/套,總價100萬/套'...#print(total_price)

四.多頁爬取,并將信息存儲到表格

from bs4 import BeautifulSoup import numpy as np import requests from requests.exceptions import RequestException import pandas as pd #讀取網(wǎng)頁 def craw(url,page):try:headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3947.100 Safari/537.36"}html1 = requests.request("GET", url, headers=headers,timeout=10)html1.encoding ='utf-8' # 加編碼,重要!轉(zhuǎn)換為字符串編碼,read()得到的是byte格式的html=html1.textreturn htmlexcept RequestException:#其他問題print('第{0}讀取網(wǎng)頁失敗'.format(page))return None #解析網(wǎng)頁并保存數(shù)據(jù)到表格 def pase_page(url,page):html=craw(url,page)html = str(html)if html is not None:soup = BeautifulSoup(html, 'lxml')"--先確定房子信息,即li標簽列表--"houses=soup.select('.resblock-list-wrapper li')#房子列表"--再確定每個房子的信息--"for j in range(len(houses)):#遍歷每一個房子house=houses[j]"名字"recommend_project=house.select('.resblock-name a.name')recommend_project=[i.get_text()for i in recommend_project]#名字 英華天元,斌鑫江南御府...recommend_project=' '.join(recommend_project)#print(recommend_project)"類型"house_type=house.select('.resblock-name span.resblock-type')house_type=[i.get_text()for i in house_type]#寫字樓,底商...house_type=' '.join(house_type)#print(house_type)"銷售狀態(tài)"sale_status = house.select('.resblock-name span.sale-status')sale_status=[i.get_text()for i in sale_status]#在售,在售,售罄,在售...sale_status=' '.join(sale_status)#print(sale_status)"大地址:如['南岸', '南坪']"big_address=house.select('.resblock-location span')big_address=[i.get_text()for i in big_address]#['南岸', '南坪'],['巴南', '李家沱']...big_address=''.join(big_address)#print(big_address)"具體地址:如:銅元局輕軌站菜園壩長江大橋南橋頭堡上"small_address=house.select('.resblock-location a')small_address=[i.get_text()for i in small_address]#銅元局輕軌站菜園壩長江大橋南橋頭堡上,龍洲大道1788號..small_address=' '.join(small_address)#print(small_address)"優(yōu)勢。如:['環(huán)線房', '近主干道', '配套齊全', '購物方便']"advantage=house.select('.resblock-tag span')advantage=[i.get_text()for i in advantage]#['環(huán)線房', '近主干道', '配套齊全', '購物方便'],['地鐵沿線', '公交直達', '配套齊全', '購物方便']advantage=' '.join(advantage)#print(advantage)"均價:多少1平"average_price=house.select('.resblock-price .main-price .number')average_price=[i.get_text()for i in average_price]#16000,25000,價格待定..average_price=' '.join(average_price)#print(average_price)"總價,單位萬"total_price=house.select('.resblock-price .second')total_price=[i.get_text()for i in total_price]#總價400萬/套,總價100萬/套'...total_price=' '.join(total_price)#print(total_price)"--------------寫入表格-------------"information = [recommend_project, house_type, sale_status,big_address,small_address,advantage,average_price,total_price]information = np.array(information)information = information.reshape(-1, 8)information = pd.DataFrame(information, columns=['名稱', '類型', '銷售狀態(tài)','大地址','具體地址','優(yōu)勢','均價','總價'])if page== 1 and j==0:information.to_csv('鏈家網(wǎng)重慶房子數(shù)據(jù).csv', mode='a+', index=False) # mode='a+'追加寫入else:information.to_csv('鏈家網(wǎng)重慶房子數(shù)據(jù).csv', mode='a+', index=False, header=False) # mode='a+'追加寫入print('第{0}頁存儲數(shù)據(jù)成功'.format(page))else:print('解析失敗')for i in range(1,101):#遍歷網(wǎng)頁1url="https://cq.fang.lianjia.com/loupan/pg"+str(i)+"/"pase_page(url,i)print('結(jié)束')

五.多線程爬取

from bs4 import BeautifulSoup import numpy as np import requests from requests.exceptions import RequestException import pandas as pd#讀取網(wǎng)頁 def craw(url,page):try:headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3947.100 Safari/537.36"}html1 = requests.request("GET", url, headers=headers,timeout=10)html1.encoding ='utf-8' # 加編碼,重要!轉(zhuǎn)換為字符串編碼,read()得到的是byte格式的html=html1.textreturn htmlexcept RequestException:#其他問題print('第{0}讀取網(wǎng)頁失敗'.format(page))return None #解析網(wǎng)頁并保存數(shù)據(jù)到表格 def pase_page(url,page):html=craw(url,page)html = str(html)if html is not None:soup = BeautifulSoup(html, 'lxml')"--先確定房子信息,即li標簽列表--"houses=soup.select('.resblock-list-wrapper li')#房子列表"--再確定每個房子的信息--"for j in range(len(houses)):#遍歷每一個房子house=houses[j]"名字"recommend_project=house.select('.resblock-name a.name')recommend_project=[i.get_text()for i in recommend_project]#名字 英華天元,斌鑫江南御府...recommend_project=' '.join(recommend_project)#print(recommend_project)"類型"house_type=house.select('.resblock-name span.resblock-type')house_type=[i.get_text()for i in house_type]#寫字樓,底商...house_type=' '.join(house_type)#print(house_type)"銷售狀態(tài)"sale_status = house.select('.resblock-name span.sale-status')sale_status=[i.get_text()for i in sale_status]#在售,在售,售罄,在售...sale_status=' '.join(sale_status)#print(sale_status)"大地址:如['南岸', '南坪']"big_address=house.select('.resblock-location span')big_address=[i.get_text()for i in big_address]#['南岸', '南坪'],['巴南', '李家沱']...big_address=''.join(big_address)#print(big_address)"具體地址:如:銅元局輕軌站菜園壩長江大橋南橋頭堡上"small_address=house.select('.resblock-location a')small_address=[i.get_text()for i in small_address]#銅元局輕軌站菜園壩長江大橋南橋頭堡上,龍洲大道1788號..small_address=' '.join(small_address)#print(small_address)"優(yōu)勢。如:['環(huán)線房', '近主干道', '配套齊全', '購物方便']"advantage=house.select('.resblock-tag span')advantage=[i.get_text()for i in advantage]#['環(huán)線房', '近主干道', '配套齊全', '購物方便'],['地鐵沿線', '公交直達', '配套齊全', '購物方便']advantage=' '.join(advantage)#print(advantage)"均價:多少1平"average_price=house.select('.resblock-price .main-price .number')average_price=[i.get_text()for i in average_price]#16000,25000,價格待定..average_price=' '.join(average_price)#print(average_price)"總價,單位萬"total_price=house.select('.resblock-price .second')total_price=[i.get_text()for i in total_price]#總價400萬/套,總價100萬/套'...total_price=' '.join(total_price)#print(total_price)"--------------寫入表格-------------"information = [recommend_project, house_type, sale_status,big_address,small_address,advantage,average_price,total_price]information = np.array(information)information = information.reshape(-1, 8)information = pd.DataFrame(information, columns=['名稱', '類型', '銷售狀態(tài)','大地址','具體地址','優(yōu)勢','均價','總價'])information.to_csv('鏈家網(wǎng)重慶房子數(shù)據(jù).csv', mode='a+', index=False, header=False) # mode='a+'追加寫入print('第{0}頁存儲數(shù)據(jù)成功'.format(page))else:print('解析失敗')#雙線程 import threading for i in range(1,99,2):#遍歷網(wǎng)頁1-101url1="https://cq.fang.lianjia.com/loupan/pg"+str(i)+"/"url2 = "https://cq.fang.lianjia.com/loupan/pg" + str(i+1) + "/"t1 = threading.Thread(target=pase_page, args=(url1,i))#線程1t2 = threading.Thread(target=pase_page, args=(url2,i+1))#線程2t1.start()t2.start()

可能是網(wǎng)的問題,很多頁的數(shù)據(jù)沒有讀取下來。

存儲到的信息有近438條。原始數(shù)據(jù)有1838條。
可以自己把失敗的頁數(shù)存儲下來,再重新請求一次。我這里就不搞啦。將就用。

總結(jié)

以上是生活随笔為你收集整理的爬虫+数据分析:重庆买房吗?爬取重庆房价的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费毛片一区二区三区久久久 | 全黄一级播放 | 午夜高潮视频 | 毛片网站免费观看 | 熟女肥臀白浆大屁股一区二区 | 亚洲欧美综合自拍 | 一区二区视频播放 | 91麻豆一区二区三区 | 无码人妻精品丰满熟人区 | 成人免费一级视频 | 亚洲综合欧美日韩 | 日韩一级二级 | 天天狠狠 | 国产强被迫伦姧在线观看无码 | 久热网| 夜夜爽天天干 | 黄色动漫免费在线观看 | 中国在线观看视频高清免费 | 夜夜爱爱| gogo人体做爰大胆视频 | 国产人妻人伦精品1国产丝袜 | 亚洲一区毛片 | 香蕉视频免费在线播放 | 91久久精品国产 | 综合黄色 | 毛片91 | 福利视频亚洲 | 免费大片av | 免费无遮挡无码永久在线观看视频 | 女人的洗澡毛片毛多 | 手机看片1024国产 | 亚洲妇女av| 日穴| aaaaa级少妇高潮大片免费看 | 好屌妞视频这里有精品 | 影音先锋成人资源网站 | 中文字幕+乱码+中文字幕明步 | 夜夜操影视 | 99re在线国产| 风间由美一区 | 久久夜色精品国产欧美乱极品 | 日本手机看片 | 夜夜操网站| 亚洲片在线观看 | 欧美色图888| 在线观看网站av | 午夜视频福利在线 | 91中文字幕视频 | 人人舔人人 | 国产激情av| 麻豆自拍视频 | 欧美黑人一区 | 性――交――性――乱a | 91人人爱 | 亚洲毛片大全 | 性欧美巨大乳 | 中文字幕在线视频免费 | 天堂网免费视频 | 少妇高潮灌满白浆毛片免费看 | 男女考妣视频 | 在线观看亚洲视频 | 欧美色精品在线 | 俺去射| 久久久久成人精品免费播放动漫 | 夜夜免费视频 | 午夜精品久久久久久久四虎美女版 | 国产一区二区在线免费观看视频 | 免费小视频在线观看 | 99国产免费 | 99精品欧美一区二区 | 全部免费毛片在线播放一个 | 欧美爱爱视频 | 探花视频在线观看 | 亚洲综合五月天婷婷丁香 | 激情亚洲视频 | 九九热视频这里只有精品 | 影音先锋啪啪 | 伊人激情 | 欧美黑人疯狂性受xxxxx喷水 | 丰满熟妇肥白一区二区在线 | 肉色超薄丝袜脚交一区二区图片 | 一区二区三区四区国产精品 | 91麻豆一区二区三区 | 91手机视频 | 四色成人av永久网址 | 神秘马戏团在线观看免费高清中文 | 日本狠狠操 | 国产又粗又猛视频免费 | 热99这里只有精品 | 四虎影视永久免费观看 | 欧美日韩激情在线一区二区三区 | 外国黄色网址 | 国产欧美精品一区 | 国产精品无码人妻一区二区在线 | 亚洲2022国产成人精品无码区 | 欧美不卡一区 | 中文字幕人妻熟女在线 | 91精品导航| 欧美一区2区三区4区公司 |