歡迎光臨
每天分享高質量文章

python爬取QQ說說並生成詞雲圖,回憶滿滿

當年的我還是那麼風華正茂、幽默風趣…

言歸正傳,本次使用的是

selenium模擬登入+BeautifulSoup4爬取資料+wordcloud生成詞雲圖

BeautifulSoup安裝

pip install beautifulsoup4

下表列出了主要的解析器,以及它們的優缺點:

selenium模擬登入

使用selenium模擬登入QQ空間,安裝pip install selenium

我用的是chrom瀏覽器,webdriver.Chrome(),獲取Chrome瀏覽器的驅動。

這裡還需要下載安裝對應瀏覽器的驅動,否則在執行指令碼時,會提示

chromedriver executable needs to be in PATH錯誤,用的是mac,網上找的一篇下載驅動的文章,https://blog.csdn.net/zxy987872674/article/details/53082896

同理window的也一樣,下載對應的驅動,解壓後,將下載的**.exe 放到Python的安裝目錄,例如 D:\python 。 同時需要將Python的安裝目錄新增到系統環境變數裡。

qq登入頁http://i.qq.com,利用webdriver開啟qq空間的登入頁面

driver = webdriver.Chrome()

driver.get(“http://i.qq.com”)

開啟之後右擊檢查檢視頁面元素,發現帳號密碼登入在login_frame裡,先定位到所在的frame,driver.switch_to.frame(“login_frame”) ,再自動點選 帳號密碼登入 按鈕,自動輸入帳號密碼登入,並且開啟說說頁面,詳細程式碼如下

這個時候可以看到已經開啟了qq說說的頁面了,註意 部分空間開啟之後會出現一個提示框,需要先模擬點選事件關閉這個提示框

同時因為說說內容是動態載入的,需要自動下拉捲軸,載入出全部的內容,再模擬點選 下一頁 載入內容。

BeautifulSoup爬取說說

F12檢視內容,可以找到說說在feed_wrap這個

    裡面的

  1. 標簽陣列裡面,具體每條說說內容在
    class=”bd”的

    標簽中。

至此QQ說說已經爬取下來,並且儲存在了qq_word檔案裡

詞雲圖

使用wordcloud包生成詞雲圖,pip install wordcloud

這裡還可以使用jieba分詞,我並沒有使用,因為我覺得qq說說的句子讀起來才有點感覺,個人喜好,用jieba分詞可以看到說說高頻次的一些詞語。

設定下wordcloud的一些屬性,註意 這裡要設定font_path屬性,否則漢字會出現亂碼。

這裡還有個要提醒的是,如果使用了虛擬環境的,不要在虛擬環境下執行以下指令碼,否則可能會報錯

我就遇到了這種情況,deactivate 退出了虛擬環境再跑的

至此,爬取qq說說內容,並生成詞雲圖。

作者:程式猿tx

源自:

https://juejin.im/post/5af7ef69f265da0b9b0769cb

宣告:文章著作權歸作者所有,如有侵權,請聯絡小編刪除

贊(0)

分享創造快樂