1、經過自己的學習,學會了網絡爬蟲和數據分析,雖然學的不是太好,但是能基本做出個樣子來。
2、由於本人是一個籃球迷,我選擇將NBA歷史總得分榜進行爬取並進行數據分析。找網站是一個非常難得事情,試過多個網站都沒成功,於是我借鑒了其他同學使用的網站,終於找到了一個專門進行排名的網站“排行榜”
3、代碼如下
import requests
from bs4 import BeautifulSoup
url='https://sports.phb123.com/nba/31999.html'
r=requests.get(url)
try:
r.raise_for_status()
r.encoding=r.apparent_encoding
data=r.text
except:
print('ERROR')
soup=BeautifulSoup(data,'html.parser')
a=soup.find_all('p')
for i in range(6,20):
print(a[i].get_text())
import matplotlib.pyplot as plt
list_1=['卡里姆·阿卜杜勒-賈巴爾','卡爾·馬龍','科比·布萊恩特','邁克爾·喬丹','勒布朗·詹姆斯','威爾特·張伯倫','德克·諾維斯基','沙奎爾·奧尼爾','摩西·馬龍','埃爾文·海耶斯'']
list_2=['38387','36928','33643','32292','32162','31419','31419''28596','27409','27313']
x=[]
y=[]
for i in range(9):
y.append(list_1[i])
x.append(list_2[i])
x.reverse()
y.reverse()
plt.barh(range(len(y)),y,tick_label=x,color='blue')
plt.rcParams['font.sans-serif'] = ['STKaiTi']
plt.rcParams['axes.unicode_minus'] = False
plt.title("NBA歷史總得分排行榜")
plt.show()
4、結果
發現橫坐標人名有重疊,與時尚網查詢,使用了
fig = plt.figure(figsize=(12,4)) # 設置畫布大小 結果如下:
5、總結
詢問了賴宜霖、牛一鳴,並找到了合適的爬蟲網站,python真的是很好玩 ,它功能 十分齊全 ,雖然操作上有點困難,但在仔細反復學習后 ,收獲還是不小的
如有可以改進的地方,還請大家多多指正!