最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python小練習(xí)之爬魷魚游戲的評價生成詞云

 更新時間:2021年10月19日 10:28:58   作者:就很有趣  
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Python爬取熱火的魷魚游戲評價,大家可以在過程中查缺補漏,提升水平

前言

魷魚游戲是什么,相信大家都不陌生了,雖然說博主沒看過這部劇,但是還是對豆瓣的評論有點好奇,剛剛好近期學(xué)習(xí)了selenium,就當(dāng)練練手了,來吧來吧,爬爬爬。

在這里插入圖片描述

分析頁面

還是老樣子,兄弟們先打開我們最喜歡的google瀏覽器,點擊F12,開啟爬蟲快樂模式
來到頁面,如下圖步驟,逐個點擊

在這里插入圖片描述

然后我們就發(fā)現(xiàn)這個頁面確實很簡單,每一條評論就是包在了class為short的span標(biāo)簽內(nèi),那就可以開始寫xpath了,如下圖

在這里插入圖片描述

這樣一頁的評論就拿到了,接下來就是換頁了
有一個小技巧,不需要我們自己寫xpath,直接用google瀏覽器可以生成xpath,如下圖所示

在這里插入圖片描述

點擊這個Copy path這樣就拿到了按鈕的xpath的內(nèi)容,然后實現(xiàn)點擊頁面就可以了,好了就這樣分析完了,接下來開始寫代碼了。

在這里插入圖片描述

重要代碼

selenium打開豆瓣短評頁面

# 待打開的頁面
    url = 'https://movie.douban.com/subject/34812928/comments?limit=20&status=P&sort=new_score'
    # 躲避智能檢測
    option = webdriver.ChromeOptions()
    # option.headless = True
    option.add_experimental_option('excludeSwitches', ['enable-automation'])
    option.add_experimental_option('useAutomationExtension', False)
    driver = webdriver.Chrome(options=option)
    driver.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument',
                           {'source': 'Object.defineProperty(navigator, "webdriver", {get: () => undefined})'
                            })
    #打開頁面
    driver.get(url)

根據(jù)xpath來獲取評論內(nèi)容

這里獲取評論的xpath語句

//span[@class="short"]

獲取評論代碼

        options = driver.find_elements(By.XPATH, '//span[@class="short"]')
        for i in options:
           text=text+i.text

實現(xiàn)跳轉(zhuǎn)下一頁

下一頁的按鈕xpath

//*[@id="paginator"]/a

跳轉(zhuǎn)按鈕點擊代碼

        nextpage = driver.find_element(By.XPATH, '//*[@id="paginator"]/a')
        nextpage.click()

完整代碼

詞云生成工具類

# -*- codeing = utf-8 -*-
# @Time : 2021/10/9 20:54
# @Author : xiaow
# @File : wordcloudutil.py
# @Software : PyCharm


from wordcloud import WordCloud
import PIL.Image as image
import numpy as np

import jieba


def trans_CN(text):
    # 接收分詞的字符串
    word_list = jieba.cut(text)
    # 分詞后在單獨個體之間加上空格
    result = " ".join(word_list)
    return result


def getWordCloud(text):
    # print(text)
    text = trans_CN(text)
    # 詞云背景圖
    mask = np.array(image.open("E://file//pics//mask3.jpg"))
    wordcloud = WordCloud(
        mask=mask,
        # 字體樣式文件
        font_path="C:\Windows\Fonts\STXINGKA.TTF",
        background_color='white'
    ).generate(text)
    image_produce = wordcloud.to_image()
    image_produce.show()

評論獲取代碼

# -*- codeing = utf-8 -*-
# @Time : 2021/6/27 22:29
# @Author : xiaow
# @File : test.py
# @Software : PyCharm
import time

from selenium import webdriver
from selenium.webdriver.common.by import By
from api import wordcloudutil
if __name__ == '__main__':
    url = 'https://movie.douban.com/subject/34812928/comments?limit=20&status=P&sort=new_score'
    # 躲避智能檢測
    option = webdriver.ChromeOptions()
    # option.headless = True
    option.add_experimental_option('excludeSwitches', ['enable-automation'])
    option.add_experimental_option('useAutomationExtension', False)
    driver = webdriver.Chrome(options=option)
    driver.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument',
                           {'source': 'Object.defineProperty(navigator, "webdriver", {get: () => undefined})'
                            })
    driver.get(url)
    text=''
    # 獲取所有的選項元素
    j=0
    while 1:
        # 定位到新跳轉(zhuǎn)的頁面
        time.sleep(1)
        driver.switch_to.window(driver.window_handles[0])

        options = driver.find_elements(By.XPATH, '//span[@class="short"]')
        for i in options:
           text=text+i.text
        time.sleep(2)
        nextpage = driver.find_element(By.XPATH, '//*[@id="paginator"]/a')
        nextpage.click()
        j=j+1
        if j>10:
            break
    print(text)
    wordcloudutil.getWordCloud(text)

成果

最后爬取的評論生成了詞云圖,如下圖所示

在這里插入圖片描述

就這樣就結(jié)束了,還是很簡單的

到此這篇關(guān)于python小練習(xí)之爬魷魚游戲的評價生成詞云的文章就介紹到這了,更多相關(guān)Python 爬取魷魚游戲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python個人博客程序開發(fā)實例用戶驗證功能

    Python個人博客程序開發(fā)實例用戶驗證功能

    這篇文章主要介紹了怎樣用Python來實現(xiàn)一個完整的個人博客系統(tǒng),我們通過實操上手的方式可以高效的鞏固所學(xué)的基礎(chǔ)知識,感興趣的朋友一起來看看吧
    2022-12-12
  • Python字典dict常用方法函數(shù)實例

    Python字典dict常用方法函數(shù)實例

    這篇文章主要介紹了Python字典dict常用方法函數(shù)實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • 詳解在Python的Django框架中創(chuàng)建模板庫的方法

    詳解在Python的Django框架中創(chuàng)建模板庫的方法

    這篇文章主要介紹了在Python的Django框架中創(chuàng)建模板庫的方法,模版庫通常用來管理單獨的Django中的應(yīng)用,需要的朋友可以參考下
    2015-07-07
  • python實現(xiàn)文件的分割與合并

    python實現(xiàn)文件的分割與合并

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)文件的分割與合并,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Python?ctypes庫底層交互秘籍實例探究

    Python?ctypes庫底層交互秘籍實例探究

    ctypes是Python標(biāo)準(zhǔn)庫中的外部函數(shù)庫,允許Python調(diào)用動態(tài)鏈接庫中的函數(shù),它提供了與C兼容的數(shù)據(jù)類型和允許Python調(diào)用共享庫中的函數(shù),對系統(tǒng)級編程和與硬件交互非常有用
    2024-01-01
  • python插入數(shù)據(jù)到列表的方法

    python插入數(shù)據(jù)到列表的方法

    這篇文章主要介紹了python插入數(shù)據(jù)到列表的方法,涉及Python中insert方法的使用技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • Python實現(xiàn)遍歷目錄的兩張方法總結(jié)

    Python實現(xiàn)遍歷目錄的兩張方法總結(jié)

    我們有時想直接查看文件夾里的所有文件,但使用正常的方法太麻煩了,于是本文開發(fā)出了兩個python程序,可以遍歷目錄,有需要的小伙伴可以參考下
    2024-02-02
  • pandas將DataFrame的幾列數(shù)據(jù)合并成為一列

    pandas將DataFrame的幾列數(shù)據(jù)合并成為一列

    本文主要介紹了pandas將DataFrame的幾列數(shù)據(jù)合并成為一列,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • python獲取中文字符串長度的方法

    python獲取中文字符串長度的方法

    今天小編就為大家分享一篇python獲取中文字符串長度的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Python局部函數(shù)及用法詳解(含nonlocal關(guān)鍵字)

    Python局部函數(shù)及用法詳解(含nonlocal關(guān)鍵字)

    局部函數(shù)有哪些特征,在使用時需要注意什么呢?接下來就給讀者詳細(xì)介紹?Python?局部函數(shù)的用法,對Python局部函數(shù)相關(guān)知識感興趣的朋友跟隨小編一起看看吧
    2022-12-12

最新評論

南昌县| 宾阳县| 兴业县| 兴隆县| 淳安县| 澄迈县| 淮滨县| 鹿邑县| 额济纳旗| 响水县| 神木县| 永胜县| 桂东县| 乐清市| 基隆市| 彝良县| 全椒县| 丹凤县| 喀喇| 宜阳县| 阳曲县| 大姚县| 友谊县| 精河县| 文成县| 湘西| 罗山县| 宝鸡市| 清丰县| 江安县| 页游| 建瓯市| 泸定县| 阜平县| 杨浦区| 临武县| 昂仁县| 伊金霍洛旗| 玉环县| 古田县| 万载县|