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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

看我如何抓取最新房价数据

發布時間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 看我如何抓取最新房价数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

經過前幾年一輪房價大漲,到現在因為國家大力調控等原因,市場已經褪去熱度,正在慢慢變得穩定,價格也相較最高時下降了些。那現在房價到底怎樣?接下來又會是怎樣的發展的趨勢?這里我們就可以通過 Python 把最近的房價數據抓取下來進行分析。

模塊安裝

這里需要安裝以下模塊,當然如果已安裝就不用再裝了:

# 安裝引用模塊pip3 install bs4pip3 install requestspip3 install lxmlpip3 install numpypip3 install pandas

配置請求頭

一般我們在抓取網站時,為了應對網站的反爬機制,我們會把請求的頭信息進行封裝處理,以下是最簡單的處理,就是將請求客戶端信息進行隨機選擇并使用,代碼如下:

# 代理客戶端列表USER_AGENTS = [ "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)", "Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.5; AOLBuild 4337.35; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; Media Center PC 6.0)", "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 1.0.3705; .NET CLR 1.1.4322)", "Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506.30)", "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.3 (Change: 287 c9dfb30)", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2pre) Gecko/20070215 K-Ninja/2.1.1", "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/20080705 Firefox/3.0 Kapiko/3.0", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.20 (KHTML, like Gecko) Chrome/19.0.1036.7 Safari/535.20", "Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; fr) Presto/2.9.168 Version/11.52",] # 創建請求頭信息def create_headers(): headers = dict() headers["User-Agent"] = random.choice(USER_AGENTS) headers["Referer"] = "http://www.ke.com" return headers

配置代理IP

除了上面配置請求頭外,如果你用相同的 IP 大量請求抓取時,很可能會被封 IP,被封后再用這個 IP 請求網站時,會提示你請求超時,為避免被封最好我們通過代理 IP 去抓取,怎樣才能找到能用的代理 IP?

# 引入模塊from bs4 import BeautifulSoupimport requestsfrom lib.request.headers import create_headers # 定義變量proxys_src = []proxys = [] # 請求獲取代理地址def spider_proxyip(num=10): try: url = 'http://www.xicidaili.com/nt/1' # 獲取代理 IP 列表 req = requests.get(url, headers=create_headers()) source_code = req.content # 解析返回的 html soup = BeautifulSoup(source_code, 'lxml') # 獲取列表行 ips = soup.findAll('tr') # 循環遍歷列表 for x in range(1, len(ips)): ip = ips[x] tds = ip.findAll("td") proxy_host = "{0}://".format(tds[5].contents[0]) + tds[1].contents[0] + ":" + tds[2].contents[0] proxy_temp = {tds[5].contents[0]: proxy_host} # 添加到代理池 proxys_src.append(proxy_temp) if x >= num: break except Exception as e: print("獲取代理地址異常:") print(e)

房價數據對象

在這里我們將新房的房價信息,創建成一個對象,后續我們只要將獲取到的數據保存成對象,再處理就會方便很多。NewHouse?對象代碼如下所示:

# 新房對象class NewHouse(object): def __init__(self, xiaoqu, price, total): self.xiaoqu = xiaoqu self.price = price self.total = total def text(self): return self.xiaoqu + "," + \ self.price + "," + \ self.total

獲取房價信息并保存

好了,做好以上準備,下面我們就以貝殼為例,批量爬取其北京地區新房數據,并保存到本地。其實只要能抓取到數據,想保存成什么格式都可以,當然也可以保存到數據庫。這里我主要想說的是如何抓取數據,所以這里就保存成最簡單的?txt?文本格式。

# 創建文件準備寫入with open("newhouse.txt", "w", encoding='utf-8') as f: # 獲得需要的新房數據 total_page = 1 loupan_list = list() page = 'http://bj.fang.ke.com/loupan/' # 調用請求頭 headers = create_headers() # 請求 url 并返回結果 response = requests.get(page, timeout=10, headers=headers) html = response.content # 解析返回 html soup = BeautifulSoup(html, "lxml") # 獲取總頁數 try: page_box = soup.find_all('div', class_='page-box')[0] matches = re.search('.*data-total-count="(\d+)".*', str(page_box)) total_page = int(math.ceil(int(matches.group(1)) / 10)) except Exception as e: print(e) print('總頁數:' + total_page) # 配置請求頭 headers = create_headers() # 從第一頁開始遍歷 for i in range(1, total_page + 1): page = 'http://bj.fang.ke.com/loupan/pg{0}'.format(i) print(page) response = requests.get(page, timeout=10, headers=headers) html = response.content # 解釋返回結果 soup = BeautifulSoup(html, "lxml") # 獲得小區信息 house_elements = soup.find_all('li', class_="resblock-list") # 循環遍歷獲取想要的元素 for house_elem in house_elements: price = house_elem.find('span', class_="number") desc = house_elem.find('span', class_="desc") total = house_elem.find('div', class_="second") loupan = house_elem.find('a', class_='name') # 開始清理數據 try: price = price.text.strip() + desc.text.strip() except Exception as e: price = '0' loupan = loupan.text.replace("\n", "") # 繼續清理數據 try: total = total.text.strip().replace(u'總價', '') total = total.replace(u'/套起', '') except Exception as e: total = '0' # 作為對象保存到變量 loupan = NewHouse(loupan, price, total) print(loupan.text()) # 將新房信息加入列表 loupan_list.append(loupan) # 循環獲取的數據并寫入到文件中 for loupan in loupan_list: f.write(loupan.text() + "\n")

代碼寫好了,現在我們就可以通過命令?python newhouse.py?運行代碼進行數據抓取了。抓取的結果如下圖所示:

總結

本文為大家介紹了如何通過 Python 將房產網上的新房數據批量抓取下來,然后就可以將每天抓取的結果跟歷史數據進行對比分析,來判斷樓市的大概趨勢。其中涉及到了用?BeautifulSoup?進行?html?解析,整個代碼來看實現方式并不難,希望通過這個過程可以為你提供一些幫助。

?在學編程,學Python的小伙伴們,一個人摸黑學會很難,博主也是過來人, 這里新建了一個扣群:1020465983,給大家準備了學習資源、好玩的項目,歡迎大家加入一起交流。

總結

以上是生活随笔為你收集整理的看我如何抓取最新房价数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品国产一区二区三区久久久蜜月 | 国产在线黄色 | 黄色长视频 | 国产精品2019 | 992av| 男生插女生的视频 | av中文字幕一区二区三区 | 永久免费精品视频 | 中文字幕在线视频一区二区三区 | 欧美性猛交性大交 | 91老女人 | 久久五月综合 | 插插插日日日 | 国产免费一级片 | 黄色永久免费网站 | 国产日韩精品在线 | 激情欧美一区二区免费视频 | 色一情一乱一伦 | 久久午夜电影网 | 欧美性精品 | 免费观看一区 | 开心激情网五月天 | 视频在线一区二区三区 | av网址在线免费观看 | 精品少妇一二三区 | 爱情岛论坛永久入口 | yy111122少妇光屁股影院 | 中文字幕一区久久 | 日本在线观看视频网站 | 成人av免费在线看 | 久久精品蜜桃 | 天堂中文在线资源 | 91n视频 | 中文字幕不卡在线 | 爱爱视频在线免费观看 | 成人二三区| 老公吃小头头视频免费观看 | 欧美私人情侣网站 | 午夜伦理剧场 | 国产一区二区三区四区五区美女 | 国产精品玖玖玖 | 国产精品一线天粉嫩av | 天堂色综合 | 91网入口| 日韩美女黄色片 | 夜色网| 久久亚洲a v| 九九精品在线观看视频 | 99热这| 黄视频免费在线看 | 三级成人| 羞羞答答av| 双腿张开被9个男人调教 | 毛片毛片毛片毛片毛片毛片毛片毛片 | 成人一级片 | 亚洲国产激情 | 中文字幕第页 | 美女又黄又免费的视频 | 美女扒开下面让男人捅 | 日本一本久草 | 亚欧洲精品视频 | 欧美视频一二三区 | 黄色精品在线观看 | 刘亦菲国产毛片bd | 91激情捆绑调教喷水 | 日韩福利视频在线观看 | 亚洲精品911 | 亚洲国产欧美一区 | 国产精品久久久久久久 | zzjj国产精品一区二区 | 日韩欧美亚洲在线 | 日本一区二区三区中文字幕 | 欧美一区二区三区系列电影 | 九九午夜 | a级黄色小视频 | 亚洲自拍图片 | 91秦先生在线播放 | 天天射日日干 | 97超碰人人澡人人爱学生 | 老牛影视av牛牛影视av | 李丽珍裸体午夜理伦片 | 理论片毛片 | 伊人久久网站 | 一区不卡视频 | 乱子伦一区 | 做视频 | 国产第一页在线观看 | 另一种灿烂生活 | 日本乱子伦xxxx | 国产又猛又黄 | 肉性天堂 | 欧美日韩激情在线观看 | 欧美成性色 | 奇米网狠狠干 | xxxxxx日本 | 秋霞视频在线观看 | 国产成人精品一区二区三区视频 | 国内自拍视频在线观看 | 成人福利网站在线观看 |