python爬蟲爬取QQ說說並且產生詞雲圖,回憶滿滿!

來源:互聯網
上載者:User

標籤:代碼   and   網路   ati   面向切面編程   技術分享   爬蟲   run   帳號   

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這個

,裡面的

標籤數組裡面,具體每條說說內容在

class="bd"的

標籤中。

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

接下來產生詞雲圖

詞雲圖

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

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

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

這裡還有個要提醒的是,如果使用了虛擬環境的,不要在虛擬環境下運行以下指令碼,否則可能會報錯 RuntimeError: Python is not installed as a framework. The Mac OS X backend will not be able to function correctly if Python is not installed as a framework. See the Python documentation for more information on installing Python as a framework on Mac OS X. Please either reinstall Python as a framework, or try one of the other backends. If you are using (Ana)Conda please install python.app and replace the use of ‘python‘ with ‘pythonw‘. See ‘Working with Matplotlib on OSX‘ in the Matplotlib FAQ for more information. ,我就遇到了這種情況,deactivate 退出了虛擬環境再跑的

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

Python可以做什嗎?

web開發和 爬蟲是比較適合 零基礎的

自動化營運 營運開發 和 自動化測試 是適合 已經在做營運和測試的人員

大資料 資料分析 這方面 是很需要專業的 專業性相對而言比較強

科學計算 一般都是科研人員 在用

機器學習 和 人工智慧 首先 學曆 要求高 其次 高數要求高 難度很大

我有一個公眾號,經常會分享一些python技術相關的乾貨;如果你喜歡我的分享,可以用搜尋“python語言學習”關注

 

歡迎大家加入千人交流答疑裙:588+090+942

python爬蟲爬取QQ說說並且產生詞雲圖,回憶滿滿!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.