python網絡爬蟲教程(五):使用正則表達式提取數據

正則表達式是處理字符串的強大工具,它有自己特定的語法結構,對於爬蟲來說,它可以幫我們從HTML例提取我們想要的信息,實際上正則表達式應用非常廣泛,如數據挖掘、數據分析、網絡爬蟲、輸入有效性驗證等。在python中我們可以用re模塊來實現正則表達式。

正則表達式的功能非常強大,短短一節是講不完的,對於新手來說,學習正則表達式可以瀏覽廖雪峯的官方網站
這裏列出了常用的幾個匹配規則:

模式 描述
\w 匹配字母、數字及下劃線
\W 匹配不是字母、數字及下劃線的字符
\s 匹配任意空白字符,等價於[\t\n\r\f]
\S 匹配任意非空白字符
\d 匹配任意數字,等價於[0-9]
\D 匹配任意非數字
\A 匹配字符串開頭
\Z 匹配字符串結尾,如果存在換行,則匹配到換行前的結束字符串
\z 匹配字符串結尾,如果存在換行,還會匹配到換行符
\G 匹配最後匹配完成的位置
\n 匹配一個換行符
\t 匹配一個製表符
^ 匹配一行字符串的開頭
$ 匹配一行字符串的結尾
. 匹配任意字符
[…] 用來表示一組字符,比如[abc]匹配a、b或c
[^…] 匹配不在[]內的字符,比如[^abc]匹配除了a、b或c以外的字符
* 匹配0個或多個表達式
+ 匹配1個或多個表達式
? 匹配0個或1個前面的正則表達式定義的片段、非貪婪方式
{n} 精確匹配n個前面的表達式
{n, m} 匹配n到m次由前面表達式定義的片段,貪婪方式
a | b 匹配a或b
() 匹配括號內的表達式,也表示一個組

通過前幾章我們已經學習瞭如何構建請求、如何獲得網頁信息以及使用正則表達式提取我們需要的內容,目前爲止我們已經可以使用爬蟲獲取一些有用的信息了,下一章我們開始構建我們的第一個爬蟲項目,如果你想了解更多內容,可以關注公衆號“機器圖騰”,裏面可以免費獲取python學習資源、網絡爬蟲教程等,每週不定時更新一些有趣的python小項目。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章