Python應用如今如火如荼,應用範圍很廣。因其效率高開發迅速的優點,快速進入編程語言排行榜前幾名。本系列文章致力於能夠全面系統的介紹Python語言開發知識和相關知識總結。但願你們可以快速入門並學習Python這門語言。html
本文是在前一部分Python基礎之上程序員帶你十天快速入門Python,玩轉電腦軟件開發(四),再次進行的Python爬蟲實戰課程。python
正則表達式實例簡單詳解程序員
正則表達式幹什麼用? 就是在字符串中提取咱們須要的內容的。正則表達式
記得哦,要先引用正則表達式模塊的哦。編程
re就是正則表達式相關的模塊小程序
實例1、微信
運行結果:網絡
爲了更加區分並銘記正則表達式。咱們看一下其餘元字符的效果:多線程
元字符"+"的使用微信公衆平臺
元字符"?的使用"
?表示前面的字符必須出現一次或者屢次。
其餘的一些元字符建議你們根據課程程序員帶你十天快速入門Python,玩轉電腦軟件開發(四)進行測試,查看效果。
findall和search的區別
findall:
根據運行結果能夠發現:fingall能夠匹配出全部的結果並返回集合。而search只可以匹配一個結果,當search時從左往右發現有一個結果時就直接返回了。
若是你仔細查看的話發現,search還有一個重載。例如咱們能夠這樣寫
但此時結果卻沒有任何變化。
so 這個參數是什麼呢? 其實這是個設置是否匹配換行的標誌。若是加上re.S就表示能夠匹配換行。不寫參數默認不匹配換行的。好比:
很明顯,若是匹配中間有換行的話,不加re.S就無法匹配了。
sub的使用
根據運行結果能夠得出:sub函數是替換函數。他能夠把匹配的內容進行替換掉並返回新替換完畢的字符串。
爬蟲程序
衆所周知,全部的網頁都是經過html代碼編寫而成的,能夠說是一個文本文件,根據渲染模型從而產生了多姿多彩的網頁。
咱們將要作的項目就是捕捉百度風雲榜實施熱搜榜單的所有電影。獲得火熱的電影。也就是下面的部分
這個網頁也是由html編寫而成的。打開微博熱搜。在網頁空白處點擊右鍵就能夠看到網頁源代碼。
你會發現整個html代碼很是複雜。因此咱們這邊就使用一個神器:開發人員工具。
網頁空白處點擊右鍵審查元素
而後選擇實時熱搜裏面的內容。下方就會自動定位到你所選擇的代碼了。
咱們查看一下實時熱搜這幾個標籤有什麼規律:
咱們能夠看到咱們想要的熱搜的內容都是以下結構:
<a target="_blank" title="標題" data="26|26" class="list-title" href="連接" href_top="說明">電影名稱</a>
因此咱們就能夠按照如上內容寫正則表達式,而後在html源代碼中匹配出來電影名稱就能夠了
咱們正則表達式能夠這樣寫
<a target="_blank" title=".+?" data="26|26" class="list-title" href=".+?" href_top=".*?">.*?</a>
其中咱們用到了一個python網絡請求的框架。這個框架默認是沒有的。咱們須要進行安裝的。
-
下載requests模塊,(你們能夠加入QQ羣:538742639獲取)
-
安裝requests模塊
-
解壓模塊文件並打開kennethreitz-requests-3314259文件夾
-
-
按住鍵盤shift鍵,在空白區域右鍵點擊-在此處打開命令窗口
-
輸入如下指令:python setup.py install
-
點擊回車便可安裝。此時就能夠導入requests模塊了
至此一個簡單的獲取熱門電影的爬蟲小程序開發完成。
下節課咱們學習更高效率更快速度的多線程爬蟲。
請關注下節教程。
關注-作全棧攻城獅獲取最新資訊。寫代碼也要讀書,愛全棧,更愛生活。程序員不止會寫代碼,好智商,高情商,咱們的選擇。
這是python開發學習的系列課程,除今日頭條以外。咱們在 一點資訊、搜狐媒體平臺,QQ公衆平臺、微信公衆平臺。企鵝媒體平臺、UC訂閱平臺、百度發佈平臺也有文章教程發佈。你們也能夠關注。帳號名稱都是作全棧攻城獅
感謝點擊關注:今日頭條。 你們也能夠加QQ羣:538742639,一塊兒努力,互相激勵。500多個技術大牛等着你。