Python?selenium把歌詞評論做成詞云圖
前言
一首歌熱門了,參與評論的人也很多,這時無論好壞評論都來了,沒有人控評得話,指不定亂七八糟
但是自己有喜歡看評論,不想影響好心情,想看看精彩評論,看看歌詞立意,那怎么辦呢?
那本次咱們就把歌詞給自動下載保存到電腦上,做成詞云圖給它分析分析…
本次目的
用selenium自動把歌詞評論下載下來,做成好看的詞云圖
本次用到的模塊和包:
re # 正則表達(dá)式 內(nèi)置模塊
selenium # 實現(xiàn)瀏覽器自動操作的
jieba # 中文分詞庫
wordcloud # 詞云圖庫
imageio # 圖像模塊
time # 內(nèi)置模塊
需要安裝的模塊安裝方法:
以 selenium 為例,直接pip install selenium
下載速度慢就用鏡像源下載
驅(qū)動安裝
要實現(xiàn)瀏覽器自動操作,咱們得安裝一個瀏覽器驅(qū)動。
網(wǎng)址我就不發(fā)了,網(wǎng)上直接搜谷歌瀏覽器驅(qū)動就可以找到,實在找不到的話私聊我
建議用谷歌瀏覽器,以谷歌瀏覽器為例,首先看一下咱們?yōu)g覽器的的版本。
瀏覽器右上角三個點,點開后點擊設(shè)置。

然后點擊關(guān)于Chrome ,右邊的那一串?dāng)?shù)字就是版本號了。

然后找到跟你的版本號相同的版本下載,沒有相同的就下載最相近的版本也可以。

你的代碼放到一起,跟代碼放一起的話,缺點是你每次要使用,沒保存的話都得去下載。
還有一種辦法是直接放到你的python目錄,這種的優(yōu)點是一次搞定可以用很多次。缺點是每次版本更新,你還是得去下載新的。
我反正每次都是去下載新的,又不是經(jīng)常用。
一、下載歌曲評論
1.代碼實現(xiàn)
首先導(dǎo)入一下模塊
模塊是必須要導(dǎo)入的東西哦,沒有導(dǎo)入的話,運(yùn)行時即使你代碼正確也是會報錯的哦~
from selenium import webdriver import re import time
Python文件名或者包名不要命名為selenium,會導(dǎo)致無法導(dǎo)入。
webdriver可以認(rèn)為是瀏覽器的驅(qū)動器,要驅(qū)動瀏覽器必須用到webdriver,支持多種瀏覽器。
創(chuàng)建一個瀏覽器對象
driver = webdriver.Chrome()
請求頁面
driver.get('https://music.163.com/#/song?id=569213220')
driver.implicitly_wait(10) # 隱式等待 瀏覽器渲染頁面 智能化等待
driver.maximize_window() # 最大化瀏覽器
driver.switch_to.frame(0)
# document.documentElement.scrollTop 指定頁面的高度 # document.documentElement.scrollHeight 獲取頁面的高度 # document.documentElement.scrollTop 指定頁面的高度 # document.documentElement.scrollHeight 獲取頁面的高度 js = 'document.documentElement.scrollTop = document.documentElement.scrollHeight' driver.execute_script(js)
獲取評論數(shù)據(jù)/保存/點擊下一頁
for click in range(10):
divs = driver.find_elements_by_css_selector('.itm')
for div in divs:
cnt = div.find_element_by_css_selector('.cnt.f-brk').text
cnt = cnt.replace('\n', ' ') # 替換換行符
cnt = re.findall(':(.*)', cnt)[0]
with open('contend.txt', mode='a', encoding='utf-8') as f:
f.write(cnt + '\n')
# 找到下一頁標(biāo)簽點擊
driver.find_element_by_css_selector('.znxt').click()
time.sleep(1)
input('程序阻塞.')
最后退出瀏覽器
driver.quit()
2.爬取評論運(yùn)行效果

二、制作詞云圖
代碼實現(xiàn)
繪制詞云圖/大小設(shè)置,詞云圖圖案可以自己去挑選喜歡的哦
import jieba # 中文分詞庫
import wordcloud # 詞云圖庫
import imageio # 圖像模塊
file = open('contend.txt', mode='r', encoding='utf-8')
txt = file.read()
# print(txt)
txt_list = jieba.lcut(txt)
print('分詞結(jié)果',txt_list)
string = ' '.join(txt_list)
print('合并分詞:', string)
"""制作詞云圖"""
# 讀取圖像
img = imageio.imread('音樂.png')
# 設(shè)置詞云圖
wc = wordcloud.WordCloud(
width=1000, # 詞云圖的寬
height=700, # 圖片的高
background_color= 'black', # 詞云圖背景顏色
font_path='msyh.ttc', # 詞云字體, 微軟雅黑, 系統(tǒng)自帶
scale=10, # 字體大小
# mask=img,
stopwords=set([line.strip() for line in open('cn_stopwords.txt', mode='r',
encoding='utf-8').readlines()])
)
print('正在繪制詞云圖')
wc.generate(string)
wc.to_file('output2.png')
print('詞云圖制作成功...')
效果展示

總結(jié)
到此這篇關(guān)于Python selenium把歌詞評論做成詞云圖的文章就介紹到這了,更多相關(guān)Python selenium詞云圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python3實現(xiàn)發(fā)送QQ郵件功能(附件)
這篇文章主要為大家詳細(xì)介紹了Python3實現(xiàn)發(fā)送QQ郵件功能,附件方面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-12-12
Python實現(xiàn)農(nóng)歷轉(zhuǎn)換教程詳解
農(nóng)歷,是我國現(xiàn)行的傳統(tǒng)歷法。它是根據(jù)月相的變化周期,每一次月相朔望變化為一個月,參考太陽回歸年為一年的長度,并加入二十四節(jié)氣與設(shè)置閏月以使平均歷年與回歸年相適應(yīng)。本文將用Python實現(xiàn)農(nóng)歷轉(zhuǎn)換,需要的可以參考一下2022-03-03
Python3.7基于hashlib和Crypto實現(xiàn)加簽驗簽功能(實例代碼)
這篇文章主要介紹了Python3.7基于hashlib和Crypto實現(xiàn)加簽驗簽功能,環(huán)境是基于python3.7,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12
python3 deque 雙向隊列創(chuàng)建與使用方法分析
這篇文章主要介紹了python3 deque 雙向隊列創(chuàng)建與使用方法,結(jié)合實例形式分析了python3 deque 雙向隊列創(chuàng)建、添加、清空、拷貝等相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下2020-03-03
Python3實現(xiàn)英文字母轉(zhuǎn)換哥特式字體實例代碼
這篇文章主要給大家介紹了關(guān)于Python3實現(xiàn)英文字母轉(zhuǎn)換哥特式字體的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09

