亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python?selenium把歌詞評(píng)論做成詞云圖

 更新時(shí)間:2022年01月19日 11:30:37   作者:魔王不會(huì)哭  
大家好,本篇文章主要講的是Python?selenium把歌詞評(píng)論做成詞云圖,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下

前言

一首歌熱門了,參與評(píng)論的人也很多,這時(shí)無論好壞評(píng)論都來了,沒有人控評(píng)得話,指不定亂七八糟

但是自己有喜歡看評(píng)論,不想影響好心情,想看看精彩評(píng)論,看看歌詞立意,那怎么辦呢?

那本次咱們就把歌詞給自動(dòng)下載保存到電腦上,做成詞云圖給它分析分析…

本次目的

用selenium自動(dòng)把歌詞評(píng)論下載下來,做成好看的詞云圖

本次用到的模塊和包:

re # 正則表達(dá)式 內(nèi)置模塊

selenium # 實(shí)現(xiàn)瀏覽器自動(dòng)操作的

jieba # 中文分詞庫

wordcloud # 詞云圖庫

imageio # 圖像模塊

time # 內(nèi)置模塊

需要安裝的模塊安裝方法:

以 selenium 為例,直接pip install selenium

下載速度慢就用鏡像源下載

驅(qū)動(dòng)安裝

要實(shí)現(xiàn)瀏覽器自動(dòng)操作,咱們得安裝一個(gè)瀏覽器驅(qū)動(dòng)。

網(wǎng)址我就不發(fā)了,網(wǎng)上直接搜谷歌瀏覽器驅(qū)動(dòng)就可以找到,實(shí)在找不到的話私聊我

建議用谷歌瀏覽器,以谷歌瀏覽器為例,首先看一下咱們?yōu)g覽器的的版本。

瀏覽器右上角三個(gè)點(diǎn),點(diǎn)開后點(diǎn)擊設(shè)置。

在這里插入圖片描述

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

在這里插入圖片描述

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

在這里插入圖片描述

你的代碼放到一起,跟代碼放一起的話,缺點(diǎn)是你每次要使用,沒保存的話都得去下載。

還有一種辦法是直接放到你的python目錄,這種的優(yōu)點(diǎn)是一次搞定可以用很多次。缺點(diǎn)是每次版本更新,你還是得去下載新的。

我反正每次都是去下載新的,又不是經(jīng)常用。

一、下載歌曲評(píng)論

1.代碼實(shí)現(xiàn)

首先導(dǎo)入一下模塊

模塊是必須要導(dǎo)入的東西哦,沒有導(dǎo)入的話,運(yùn)行時(shí)即使你代碼正確也是會(huì)報(bào)錯(cuò)的哦~

from selenium import webdriver
import re 
import time  

Python文件名或者包名不要命名為selenium,會(huì)導(dǎo)致無法導(dǎo)入。

webdriver可以認(rèn)為是瀏覽器的驅(qū)動(dòng)器,要驅(qū)動(dòng)瀏覽器必須用到webdriver,支持多種瀏覽器。

創(chuàng)建一個(gè)瀏覽器對(duì)象

driver = webdriver.Chrome()

請(qǐng)求頁面

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)

獲取評(píng)論數(shù)據(jù)/保存/點(diǎn)擊下一頁

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)簽點(diǎn)擊
    driver.find_element_by_css_selector('.znxt').click()
    time.sleep(1)


input('程序阻塞.')

最后退出瀏覽器

driver.quit()

2.爬取評(píng)論運(yùn)行效果

在這里插入圖片描述

二、制作詞云圖

代碼實(shí)現(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把歌詞評(píng)論做成詞云圖的文章就介紹到這了,更多相關(guān)Python selenium詞云圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論