国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python爬蟲 正則表達式使用技巧及爬取個人博客的實例講解

2020-02-16 10:25:36
字體:
來源:轉載
供稿:網友

這篇博客是自己《數據挖掘與分析》課程講到正則表達式爬蟲的相關內容,主要簡單介紹Python正則表達式爬蟲,同時講述常見的正則表達式分析方法,最后通過實例爬取作者的個人博客網站。希望這篇基礎文章對您有所幫助,如果文章中存在錯誤或不足之處,還請海涵。真的太忙了,太長時間沒有寫博客了,抱歉~

一.正則表達式

正則表達式(Regular Expression,簡稱Regex或RE)又稱為正規表示法或常規表示法,常常用來檢索、替換那些符合某個模式的文本,它首先設定好了一些特殊的字及字符組合,通過組合的“規則字符串”來對表達式進行過濾,從而獲取或匹配我們想要的特定內容。它具有靈活、邏輯性和功能性非常的強,能迅速地通過表達式從字符串中找到所需信息的優點,但對于剛接觸的人來說,比較晦澀難懂。

1.re模塊

Python通過re模塊提供對正則表達式的支持,使用正則表達式之前需要導入該庫。

import re 

import re其基本步驟是先將正則表達式的字符串形式編譯為Pattern實例,然后使用Pattern實例處理文本并獲得一個匹配(Match)實例,再使用Match實例獲得所需信息。常用的函數是findall,原型如下:

findall(string[, pos[, endpos]]) | re.findall(pattern, string[, flags])

該函數表示搜索字符串string,以列表形式返回全部能匹配的子串。

其中參數re包括三個常見值:

(1)re.I(re.IGNORECASE):忽略大小寫(括號內是完整寫法)

(2)re.M(re.MULTILINE):允許多行模式

(3)re.S(re.DOTALL):支持點任意匹配模式

Pattern對象是一個編譯好的正則表達式,通過Pattern提供的一系列方法可以對文本進行匹配查找。Pattern不能直接實例化,必須使用re.compile()進行構造。

2.complie方法

re正則表達式模塊包括一些常用的操作函數,比如complie()函數。其原型如下:

compile(pattern[,flags] ) 

該函數根據包含正則表達式的字符串創建模式對象,返回一個pattern對象。參數flags是匹配模式,可以使用按位或“|”表示同時生效,也可以在正則表達式字符串中指定。Pattern對象是不能直接實例化的,只能通過compile方法得到。

簡單舉個實例,使用正則表達式獲取字符串中的數字內容,如下所示:

>>> import re>>> string="A1.45,b5,6.45,8.82">>> regex = re.compile(r"/d+/.?/d*")>>> print regex.findall(string)['1.45', '5', '6.45', '8.82']>>> 

3.match方法

match方法是從字符串的pos下標處起開始匹配pattern,如果pattern結束時已經匹配,則返回一個Match對象;如果匹配過程中pattern無法匹配,或者匹配未結束就已到達endpos,則返回None。該方法原型如下:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 稻城县| 定州市| 德江县| 海口市| 遂川县| 黄骅市| 阳曲县| 始兴县| 通渭县| 上林县| 张家港市| 金寨县| 高州市| 江津市| 陆河县| 大理市| 亚东县| 琼结县| 兴宁市| 清河县| 昌乐县| 锡林浩特市| 江川县| 宝清县| 枣庄市| 板桥市| 西宁市| 凉城县| 林甸县| 宝丰县| 长春市| 波密县| 彭泽县| 漳浦县| 星座| 济源市| 卓尼县| 日土县| 桂阳县| 南乐县| 界首市|