日韩性视频-久久久蜜桃-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,給大家準備了學習資源、好玩的項目,歡迎大家加入一起交流。

總結

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

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

主站蜘蛛池模板: 波多野结衣小视频 | 日本黄色一区二区三区 | 欧美色一区二区三区在线观看 | 特极毛片| 亚洲最大福利视频网 | 婷婷综合五月天 | 老司机福利av| 日韩一级在线播放 | 黄色美女一级片 | 成人午夜免费福利视频 | 黑人欧美一区二区三区 | 国产精品啊啊啊 | 91在线精品一区二区三区 | 日本四虎影院 | 国产精品一区二区av | 夫妻啪啪呻吟x一88av | 国产成人精品一区二三区四区五区 | 奇米影视第四色7777 | 国语对白| 无遮挡在线观看 | 国产精品69久久久久孕妇欧美 | 国产最新av | 精品人妻一区二区三区四区在线 | 欧美一区二区福利 | 久久偷看各类wc女厕嘘嘘偷窃 | 亚洲视频在线网 | 草草网址 | 性xxx欧美 | 人人超碰97| 色婷婷久久五月综合成人 | 天天操天天草 | 日韩欧美手机在线 | 日韩在线免费视频观看 | 夜夜草网站 | 少妇无码一区二区三区免费 | 亚洲aⅴ乱码精品成人区 | 欧美色图激情小说 | 一区在线观看 | 亚洲国产私拍精品国模在线观看 | 欧美精品在线一区二区三区 | 91久久综合亚洲鲁鲁五月天 | 亚洲激情国产 | 国产美女视频 | 国产中文字幕在线免费观看 | 亚洲系列在线观看 | 国产色在线| 欧美成人久久久 | 国产精品久久伊人 | 亚洲女同av| 国产一区二区三区四区三区四 | 国产成人在线电影 | 黄色一级大片在线免费看国产 | www.麻豆av.com| 国产成人av一区二区三区不卡 | 六月婷婷在线观看 | 91超碰在线播放 | 理论片在线观看视频 | 国产毛片毛片毛片毛片毛片 | 国产剧情av在线 | 香蕉久热 | 亚洲午夜激情视频 | 欧美一级视频免费观看 | 久久午夜无码鲁丝片午夜精品 | 亚洲欧美日韩国产成人精品影院 | 成年人黄色一级片 | 精品一区二区三区成人免费视频 | 爱乃なみ加勒比在线播放 | 免费看黄色片视频 | jizz视频| 日本在线资源 | 日本三级韩国三级三级a级按摩 | 91社区视频 | 日本一区二区不卡在线 | 69性视频| 中国特级毛片 | 老色鬼在线| 精品视频在线观看一区 | 久草影视网 | 久久深夜视频 | 国内精品久久久久久久 | 欧美有码在线观看 | 欧美日本色 | 男人的天堂手机在线 | 国产一区二区三区高清 | 久久性色av | www黄色大片 | 网址你懂的在线 | 天天干夜夜草 | 美女少妇毛片 | 国产三级精品在线观看 | 午夜剧场免费看 | 欧美变态口味重另类在线视频 | 麻豆观看 | 四虎成人永久免费视频 | 国产乱来视频 | 双性娇喘浑圆奶水h男男漫画 | 亚洲成a人片777777久久 | 日韩福利视频在线观看 | 91嫩草视频在线观看 |