python爬蟲爬取QQ說說並且生成詞雲圖,回憶滿滿!
Python(發音:英[?pa?θ?n],美[?pa?θɑ:n]),是一種面向對象、直譯式電腦編程語言,也是一種功能強大的通用型語言,已經具有近二十年的發展歷史,成熟且穩定。它包含了一組完善而且容易理解的標準庫,能夠輕松完成很多常見的任務。它的語法非常簡捷和清晰,與其它大多數程序設計語言不一樣,它使用縮進來定義語句。
Python支持命令式程序設計、面向對象程序設計、函數式編程、面向切面編程、泛型編程多種編程範式。與Scheme、Ruby、Perl、Tcl等動態語言一樣,Python具備垃圾回收功能,能夠自動管理存儲器使用。它經常被當作腳本語言用於處理系統管理任務和網絡程序編寫,然而它也非常適合完成各種高級任務。Python虛擬機本身幾乎可以在所有的作業系統中運行。使用一些諸如py2exe、PyPy、PyInstaller之類的工具可以將Python源代碼轉換成可以脫離Python解釋器運行的程序。
自學過一段時間的python,用django自己做了個網站,也用requests+BeautifulSoup
爬蟲過些簡單的網站,周末研究學習了一波,準備爬取QQ空間的說說,並把內容存在txt中,讀取生成雲圖。
好久不登qq了,空間說說更是幾年不玩了,裏面滿滿的都是上學時候的回憶,看著看著就笑了,笑著笑著就...哈哈哈~~
無圖言虛空
當年的我還是那麽風華正茂、幽默風趣...
言歸正傳,本次使用的是
selenium
模擬登錄+
BeautifulSoup4
爬取數據+
wordcloud
生成詞雲圖
BeautifulSoup安裝
pip install beautifulsoup4
這裏有beautifulsoup4 的 官方文檔
還需要用到解析器,我選擇的是
html5lib
解析器
pip install html5lib
下表列出了主要的解析器,以及它們的優缺點:
selenium模擬登錄
使用selenium模擬登錄QQ空間,安裝
pip install selenium
我用的是chrom瀏覽器,
webdriver.Chrome()
,獲取Chrome瀏覽器的驅動。
這裏還需要下載安裝對應瀏覽器的驅動,否則在運行腳本時,會提示
chromedriver executable needs to be in PATH
錯誤,用的是mac,網上找的一篇下載驅動的文章
同理window的也一樣,下載對應的驅動,解壓後,將下載的**.exe 放到Python的安裝目錄,例如 D:\python 。 同時需要將Python的安裝目錄添加到系統環境變量裏。
python學習路線分三大階段:基礎-進階-框架-項目實戰
基礎第一階段:基礎Python的理解。基礎第二階段面對對象編程(註重編程能力)
基礎第三階段面向對象“設計思想”-封裝-繼承。基礎第四階段python高級專題。
進階班第一階段:linux基礎。第二:python web工具。第三python部署工具。
第四關系型數據庫。第五Python web框架基礎原理。
框架階段.python web開發第一階段web.py。基礎第二Django基礎。
第三flask基礎。第四tornado基礎,
項目實戰:個人博客系統-微信開發-企業OA系統=網盤系統。
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說說的頁面了,註意部分空間打開之後會出現一個提示框,需要先模擬點擊事件關閉這個提示框
tm我以前竟然還有個黃鉆,好可怕~~,空間頭像也是那麽的年輕、主流...
同時因為說說內容是動態加載的,需要自動下拉滾動條,加載出全部的內容,再模擬點擊 下一頁 加載內容。具體代碼見下面。
BeautifulSoup爬取說說
F12查看內容,可以找到說說在feed_wrap這個
,裏面的