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

訪問flyai.club,一鍵創建你的人工智能項目



作者 | 程序猿tx

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


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


言歸正傳,本次使用的是


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這個<div>,<ol>裏面的<li>標籤數組裏面,具體每條說說內容在<div> class="bd"的<pre>標籤中。



至此QQ說說已經爬取下來,並且保存在了qq_word文件裏


詞雲圖


使用wordcloud包生成詞雲圖,


pip install wordcloud


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


設置下wordcloud的一些屬性,注意 這裏要設置font_path屬性,否則漢字會出現亂碼。


這裏還有個要提醒的是,如果使用了虛擬環境的,不要在虛擬環境下運行以下腳本,否則可能會報錯



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



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


—  End —




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章