溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python?selenium如何把歌詞評論做成詞云圖

發(fā)布時間:2022-01-19 13:22:16 來源:億速云 閱讀:181 作者:kk 欄目:開發(fā)技術(shù)

今天給大家介紹一下Python selenium如何把歌詞評論做成詞云圖。文章的內(nèi)容小編覺得不錯,現(xiàn)在給大家分享一下,覺得有需要的朋友可以了解一下,希望對大家有所幫助,下面跟著小編的思路一起來閱讀吧。

    前言

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

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

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

    本次目的

    用selenium自動把歌詞評論下載下來,做成好看的詞云圖

    本次用到的模塊和包:

    re # 正則表達式 內(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è)置。

    Python?selenium如何把歌詞評論做成詞云圖

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

    Python?selenium如何把歌詞評論做成詞云圖

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

    Python?selenium如何把歌詞評論做成詞云圖

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

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

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

    一、下載歌曲評論

    1.代碼實現(xiàn)

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

    模塊是必須要導(dǎo)入的東西哦,沒有導(dǎo)入的話,運行時即使你代碼正確也是會報錯的哦~

    from selenium import webdriver
    import re 
    import time

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

    webdriver可以認為是瀏覽器的驅(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.爬取評論運行效果

    Python?selenium如何把歌詞評論做成詞云圖

    二、制作詞云圖

    代碼實現(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('詞云圖制作成功...')

    效果展示

    Python?selenium如何把歌詞評論做成詞云圖

    python的五大特點是什么

    python的五大特點:1.簡單易學(xué),開發(fā)程序時,專注的是解決問題,而不是搞明白語言本身。2.面向?qū)ο?,與其他主要的語言如C++和Java相比, Python以一種非常強大又簡單的方式實現(xiàn)面向?qū)ο缶幊獭?.可移植性,Python程序無需修改就可以在各種平臺上運行。4.解釋性,Python語言寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序。5.開源,Python是 FLOSS(自由/開放源碼軟件)之一。

    以上就是Python selenium如何把歌詞評論做成詞云圖的全部內(nèi)容了,更多與Python selenium如何把歌詞評論做成詞云圖相關(guān)的內(nèi)容可以搜索億速云之前的文章或者瀏覽下面的文章進行學(xué)習(xí)哈!相信小編會給大家增添更多知識,希望大家能夠支持一下億速云!

    向AI問一下細節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI