您好,登錄后才能下訂單哦!
python爬蟲爬取球迷評論,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
這次用python爬蟲爬點好玩的東西
這兩天看恰好有nba決賽,是球迷的你肯定不會錯過的,更何況今年的西部決賽是火箭對戰(zhàn)勇士,今年的火箭是很強的,因為沒到關鍵時候總會有人站出來。當然,勇士也是挺強的,畢竟不能小看庫里杜蘭特等四大巨頭。
東部的決賽我就不太知道了,一直以為是凱爾特人會苦戰(zhàn)騎士,誰知道缺了兩大主力的凱爾特人還是很強,而且還打了騎士2:0,看來這次的騎士會是兇多吉少了,不知道凱爾特人會不會成功復仇,讓我們拭目以待吧!
有直播就肯定有評論,所以我想爬取下球迷評論,看看他們都在聊什么!
準備工作
需要用到的庫:
requests:用于網絡請求
jieba:用于分詞
wordcloud:制作詞云圖
numpy:制作背景圖片
詞云背景圖片:
上面的庫都是可以直接用pip進行下載的,但是wordcloud會報錯,報錯如下:
我們需要去官網下載whl文件進行手動安裝
官網:https://www.lfd.uci.edu/~gohlke/pythonlibs/
然后找到對應自己安裝的python版本進行下載
最后在命令行下安裝即可
pip install “文件路徑+whl文件名”
接下來尋找目標網頁
文字直播地址:https://www.zhibo8.cc/zhibo/nba/2018/0517123898.htm?redirect=zhibo
在這個網頁通過抓包(按下f12)課知道下面這個鏈接是返回評論信息,而且是個json
鏈接為:https://cache.zhibo8.cc/json/2018/nba/0517123898_384.htm?key=0.6512348313080727
通過多次分析知道上面加粗的是直播間的信息,后面的下劃線之后的是評論的頁數,最后的key參數是個隨機數,帶不帶上進行請求都沒有關系
用代碼來獲取評論信息
def __get_json(self, index):
url = 'https://cache.zhibo8.cc/json/2018/nba/0517123898_%d.htm?key=0.1355540028791382' % index
response = requests.get(url)
if response.status_code == 200:
for item in response.json():
# 寫入文件
self.__write_file(item['content'])
self.num += 1
return 1
else:
return 0
評論信息有了,接著弄張詞云圖
def __get_wordcloud(self):
with open('comments.txt', 'r', encoding='utf-8') as comments:
text = comments.read() # 加載數據
words = ' '.join(jieba.cut(text, cut_all=True)) # 采用結巴全分詞模式
image = np.array(Image.open('1.jpg')) # 背景圖片
# 初始化詞云
wc = WordCloud(font_path=r'C:\Windows\Fonts\simkai.ttf',
background_color='white', mask=image,
max_font_size=100, max_words=2000)
wc.generate(words) # 生成詞云
wc.to_file('img.png') # 生成圖片
image_file = Image.open('img.png') # 打開圖片
image_file.show()
好了,代碼完成,看下效果:
利用詞云圖一眼就可以看出球迷都在評論什么了,因為我爬取的是火箭主場對戰(zhàn)勇士的第二場比賽,肯定討論最多的就是勇士火箭了,緊接的就是杜蘭特了,死亡之神,這場的杜蘭特超神拿了38分還是輸給了火箭,自然而然就是討論他最多了。還有就是這場站出來的塔克,三分6中5,還破了個人季后賽的最高得分,討論他也是很正常的事。還有一個很顯眼的就是第三節(jié),很多人都認為勇士是“勇三瘋”,以為這場比賽勇士會在第三節(jié)爆發(fā)吧?其實這賽季的火箭第三節(jié)也是很強的,并不比勇士弱。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業(yè)資訊頻道,感謝您對億速云的支持。
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。