Python(發音:英[?pa?θ?n],美[?pa?θɑ:n]),是一種面向對象、直譯式電腦編程語言,也是一種功能強大的通用型語言,已經具備近二十年的發展歷史,成熟且穩定。它包含了一組完善並且容易理解的標準庫,可以輕鬆完成不少常見的任務。它的語法很是簡捷和清晰,與其它大多數程序設計語言不同,它使用縮進來定義語句。html
Python支持命令式程序設計、面向對象程序設計、函數式編程、面向切面編程、泛型編程多種編程範式。與Scheme、Ruby、Perl、Tcl等動態語言同樣,Python具有垃圾回收功能,可以自動管理存儲器使用。它常常被看成腳本語言用於處理系統管理任務和網絡程序編寫,然而它也很是適合完成各類高級任務。Python虛擬機自己幾乎能夠在全部的做業系統中運行。使用一些諸如py2exe、PyPy、PyInstaller之類的工具能夠將Python源代碼轉換成能夠脫離Python解釋器運行的程序。html5
自學過一段時間的python,用django本身作了個網站,也用requests+BeautifulSouppython
爬蟲過些簡單的網站,週末研究學習了一波,準備爬取QQ空間的說說,並把內容存在txt中,讀取生成雲圖。linux
很久不登qq了,空間說說更是幾年不玩了,裏面滿滿的都是上學時候的回憶,看着看着就笑了,笑着笑着就...哈哈哈~~web
無圖言虛空chrome
當年的我仍是那麼風華正茂、幽默風趣...數據庫
言歸正傳,本次使用的是django
selenium編程
模擬登陸+flask
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