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登錄頁//i.qq.com,利用webdriver打開qq空間的登錄頁面
driver = webdriver.Chrome()
driver.get("//i.qq.com")
打開之後右擊檢查查看頁面元素,發現帳號密碼登錄在login_frame里,先定位到所在的frame,driver.switch_to.frame("login_frame") ,再自動點擊 帳號密碼登錄 按鈕,自動輸入帳號密碼登錄,並且打開說說頁面,詳細代碼如下
這個時候可以看到已經打開了qq說說的頁面了,注意部分空間打開之後會出現一個提示框,需要先模擬點擊事件關閉這個提示框
同時因為說說內容是動態載入的,需要自動下拉滾動條,載入出全部的內容,再模擬點擊 下一頁 載入內容。
BeautifulSoup爬取說說
F12查看內容,可以找到說說在feed_wrap這個
,裡面的
標籤數組裡面,具體每條說說內容在
class="bd"的
標籤中。
至此QQ說說已經爬取下來,並且保存在了qq_word文件里
詞雲圖
使用wordcloud包生成詞雲圖,pip install wordcloud
這裡還可以使用jieba分詞,我並沒有使用,因為我覺得qq說說的句子讀起來才有點感覺,個人喜好,用jieba分詞可以看到說說高頻次的一些詞語。
設置下wordcloud的一些屬性,注意 這裡要設置font_path屬性,否則漢字會出現亂碼。
這裡還有個要提醒的是,如果使用了虛擬環境的,不要在虛擬環境下運行以下腳本,否則可能會報錯
我就遇到了這種情況,deactivate 退出了虛擬環境再跑的
至此,爬取qq說說內容,並生成詞雲圖。
作者:程序猿tx
源自:
https://juejin.im/post/5af7ef69f265da0b9b0769cb
聲明:文章著作權歸作者所有,如有侵權,請聯繫小編刪除
TAG:python |