(一)剛入爬蟲坑(3)——數(shù)據(jù)提取之re的使用

????????使用urllib庫可以模擬瀏覽器發(fā)送請求獲得服務器返回的數(shù)據(jù)顽爹,下一步就是把有用的數(shù)據(jù)提取出來纤泵。數(shù)據(jù)分為兩種形式結構化和非結構化。

????????非結構化數(shù)據(jù)一般指的是文本和HTML镜粤。文本中的內容特別雜捏题,比如有電話號碼,郵箱等信息肉渴,只能使用正則表達式進行提裙;HTML可以使用CSS選擇器同规、xpath循狰、正則表達式進行提取。

? ? ? ? 結構化數(shù)據(jù)一般指的是JSON和XML券勺。Json可以使用JsonPath處理晤揣,也可以轉化成python對象。XML可以轉化成python對象朱灿,或者使用CSS選擇器、xpath钠四、正則表達式進行提取盗扒。

? ? ? ? 這節(jié)主要研究一下正則表達式的使用方法和re模塊的常用方法。


match():

? ? ????從字符串起始位匹配缀去,如果匹配則返回第一個次提取的內容侣灶,如果不匹配則返回None。

m沒有匹配缕碎,n匹配到12褥影,此時的n表示的是一個match對象。

? ? ? ? match中可以設置起始位置和結束位置咏雌。

從零開始計算凡怎,3表示第三位開始校焦,5表示第五位結束(不包含第五位字符)。m.group()可以返回match對象中匹配到的值统倒。

? ? ? ? compile()中可以設置一些參數(shù)寨典,re.I 表示忽略大小寫,re.S表示全文匹配

m.group()返回匹配內容和m.group(0)一樣房匆,m.group(n)表示匹配的內容中分組的單個內容耸成。?

????????除了group()還有一個方法span(),返回的是字符下標浴鸿。

? ? ? ? 切記井氢,如果match對象為None時,使用group和span等方法會拋出異常岳链,使用時進行非空判斷花竞。

search():

? ? ????從字符串任意位匹配,如果匹配則返回第一個次提取的內容宠页,如果不匹配則返回None左胞。

?????????search中可以設置起始位置和結束位置。

從零開始計算举户,3表示第三位開始烤宙,5表示第五位結束(不包含第五位字符)。

findall():

? ? ????從字符串任意位匹配俭嘁,如果匹配則返回所有提取的內容躺枕,如果不匹配則返回[]。

????????findall中可以設置起始位置和結束位置供填。

finditer():

????????從字符串任意位匹配拐云,如果匹配則返回所有提取的內容組成的迭代對象,如果不匹配也返回一個迭代對象近她。

????????finditer中可以設置起始位置和結束位置叉瘩。

? ? ? ? finditer返回的迭代對象可以理解為match對象的集合,通過for遍歷的方式粘捎,可以獲取match薇缅,group方法可以獲取匹配的值。

split():

????????從字符串任意位匹配攒磨,如果匹配泳桦,則以匹配的內容為分割點,返回切分后的list數(shù)據(jù)娩缰。

分割點為{空格 數(shù)字 \ ;}的順序形式灸撰,有序
分割點為{空格 數(shù)字 \ ;}的各種組合形式,無序

sub():

????????從字符串任意位匹配,如果匹配浮毯,則替換匹配的內容完疫,返回替換后的字符串。

? ??????從字符串任意位匹配亲轨,如果匹配趋惨,則交換匹配的內容的位置,返回處理后的字符串惦蚊。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末器虾,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蹦锋,更是在濱河造成了極大的恐慌兆沙,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件莉掂,死亡現(xiàn)場離奇詭異葛圃,居然都是意外死亡,警方通過查閱死者的電腦和手機憎妙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進店門库正,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人厘唾,你說我怎么就攤上這事褥符。” “怎么了抚垃?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵喷楣,是天一觀的道長。 經(jīng)常有香客問我鹤树,道長铣焊,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任罕伯,我火速辦了婚禮曲伊,結果婚禮上,老公的妹妹穿的比我還像新娘追他。我一直安慰自己熊昌,他們只是感情好,可當我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布湿酸。 她就那樣靜靜地躺著,像睡著了一般灭美。 火紅的嫁衣襯著肌膚如雪推溃。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天届腐,我揣著相機與錄音铁坎,去河邊找鬼蜂奸。 笑死,一個胖子當著我的面吹牛硬萍,可吹牛的內容都是我干的扩所。 我是一名探鬼主播,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼朴乖,長吁一口氣:“原來是場噩夢啊……” “哼祖屏!你這毒婦竟也來了?” 一聲冷哼從身側響起买羞,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤袁勺,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后畜普,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體期丰,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年吃挑,在試婚紗的時候發(fā)現(xiàn)自己被綠了钝荡。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡舶衬,死狀恐怖埠通,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情约炎,我是刑警寧澤植阴,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站圾浅,受9級特大地震影響掠手,放射性物質發(fā)生泄漏。R本人自食惡果不足惜狸捕,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一喷鸽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧灸拍,春花似錦做祝、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至轩性,卻和暖如春声登,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工悯嗓, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留件舵,地道東北人。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓脯厨,卻偏偏與公主長得像铅祸,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子合武,可洞房花燭夜當晚...
    茶點故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內容

  • 第5章 引用類型(返回首頁) 本章內容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,216評論 0 4
  • Python中的正則表達式(re) import rere.match #從開始位置開始匹配临梗,如果開頭沒有則無re...
    BigJeffWang閱讀 7,064評論 0 99
  • python的re模塊--細說正則表達式 可能是東半球最詳細最全面的re教程,翻譯自官方文檔,因為官方文檔寫的是真...
    立而人閱讀 22,846評論 4 46
  • 她 (豆瓣) 這部電影的主角是一個替人寫信的人。 從電影中的表現(xiàn)來看眯杏,他是一個感情豐沛的感性的人夜焦。如果生在維多利亞...
    Cyberpunk閱讀 437評論 0 2
  • 你們有沒有拼盡全力想保護的東西茫经?親情,愛情萎津! 他21歲那年卸伞,他爸車禍腦出血,躺在ICU锉屈,醫(yī)生說荤傲,搶救的最好最完美結...
    布衣浪子閱讀 301評論 0 0