哈嘍大家好,今天我們來(lái)獲取一下某個(gè)生活平臺(tái)網(wǎng)站數(shù)據(jù),進(jìn)行可視化分析。
采集58的數(shù)據(jù)可以使用Python的requests庫(kù)和beautifulsoup庫(kù),數(shù)據(jù)可視化分析可以使用matplotlib庫(kù)和seaborn庫(kù)。下面是一個(gè)簡(jiǎn)單的例子:
1、首先導(dǎo)入需要使用的模塊
import requests from bs4 import BeautifulSoup import matplotlib.pyplot as plt import seaborn as sns
?
2、設(shè)置請(qǐng)求頭,模擬瀏覽器請(qǐng)求。
headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
?
3、發(fā)送請(qǐng)求獲取頁(yè)面
url = 'https://bj.58.com/pinpaigongyu/pn/{page}/?minprice=2000_4000' house_data = [] for page in range(1, 3): res = requests.get(url.format(page=page), headers=headers) soup = BeautifulSoup(res.text, 'html.parser')
?
4、解析頁(yè)面獲取數(shù)據(jù)
house_list = soup.select('.list > li') for house in house_list: house_title = house.select('.title a')[0].string house_location = house.select('.add > a')[0].string.strip() house_price = house.select('.money > b')[0].string house_data.append({'title': house_title, 'location': house_location, 'price': house_price})
?
5、數(shù)據(jù)可視化分析
df = pd.DataFrame(house_data) # Python學(xué)習(xí)交流扣裙:708525271 df['price'] = df['price'].astype(int) df['location'] = df['location'].apply(lambda x: x.split('-')[0]) sns.boxplot(x='location', y='price', data=df) plt.show()
?
這個(gè)例子以北京地區(qū)的品牌公寓為例,爬取了兩頁(yè)的房源數(shù)據(jù),并使用箱線圖對(duì)不同地區(qū)的房?jī)r(jià)進(jìn)行了可視化分析。
需要注意的是,58的反爬比較嚴(yán)重,訪問(wèn)多了直接封IP。
我還給大家準(zhǔn)備了25個(gè)非常實(shí)用的Python爬蟲(chóng)項(xiàng)目,幫助大家更好的學(xué)習(xí)爬蟲(chóng)。大家也可根據(jù)項(xiàng)目的需求,自己構(gòu)建解決方法,提高編程水平。全套的python自學(xué)視頻以及項(xiàng)目,已經(jīng)打包完畢,在前面數(shù)據(jù)可視化代碼中有直接拿走學(xué)習(xí)的方式!
?
好了今天的分享就到這結(jié)束了,大家下次見(jiàn)!文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-461078.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-461078.html
到了這里,關(guān)于Python爬蟲(chóng):批量采集58同城數(shù)據(jù),進(jìn)行可視化分析!的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!