訪問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 —