乙隻爬蟲帶你看世界 7

2021-08-09 22:25:43 字數 2440 閱讀 4033

11.正規表示式特殊符號及用法

正規表示式特殊符號主要有兩部分構成,其一是元字元,其二是由」\」加上字母構成的。

元字元:

舉個栗子:

>>>re.search(r'fish(c|d)','fishc')

<_sre.sre_matchobject span="(0," match="fishc">

>>>re.search(r'fish(c|d)','fishd')

<_sre.sre_matchobject span="(0," match="fishd">

>>>re.search(r'^fish','fishsdfa')

<_sre.sre_matchobject span="(0," match="fish">

>>>re.search(r'fish$','asdfsdffish')

<_sre.sre_matchobject span="(7," match="fish">

>>>re.search(r'(fishc)\1','fishcfishc')

<_sre.sre_matchobject span="(0," match="fishcfishc">

>>>re.search(r'[.]','i love fish.com')

<_sre.sre_matchobject span="(11," match=".">

>>>re.findall(r'[a-z]','fishc.com')

['i', 's', 'h','c', 'o', 'm']

>>>re.findall(r'[^a-z]','fishc.com')

['f', 'c', '.']

注意:[^a-z] 去反

>>> re.search(r'fishc','fishcccc')

<_sre.sre_match object span="(0,">

>>> re.search(r'(fishc)','fishcfishcfishc')

<_sre.sre_match object span="(0,">

檢視下圖:

貪婪匹配與非貪婪匹配

>>> s ="i love you forever

">>>re.search(r'<.>',s)

<_sre.sre_matchobject span="(0," match="i love you forever

">

>>>re.search(r'<.>',s)

<_sre.sre_matchobject span="(0," match="">

此時?是取消貪婪匹配的

模式物件

如果需要重複使用某個正規表示式,那麼先將正規表示式編譯成模式物件,使用「re.compile」方法編譯。

舉個栗子:

>>>import re

>>> p =re.compile(r'[a-z]')

>>>type(p)

>>>p.search('i love you forver')

<_sre.sre_matchobject span="(0," match="i">

>>>p.findall("i love you forver")

['i']

正規表示式嚴格匹配包括空格(search用法)

舉個栗子:

>>>result = re.search(r' (\w+) (\w+)','i love you forever')

>>>result

<_sre.sre_matchobject span="(1," match=" love you">

>>>result.group()

' love you'

>>>result.group(1)

'love'

>>>result.group(2)

'you'

>>>result.span()

(1, 10)

乙隻爬蟲帶你看世界 4

7.模擬瀏覽器訪問,隱藏python自身資訊 原理 當瀏覽器訪問伺服器上的內容時,伺服器會抓取訪問資訊中header中的user agent資訊,若user agent中顯示有python資訊等,則視為爬蟲程式,此時伺服器會阻止它進行資訊爬取。為了隱藏爬蟲程式,此時使用模擬瀏覽器訪問的方式來進行資訊...

乙隻爬蟲的產生

以下環境基於py2.7 爬蟲架構 url管理器 處理待爬url以及爬過的url,防止重複抓取以及死迴圈 網頁解析器 解析出想要的資料,以及捕捉新的url位址交給url管理器進行處理繼續抓取。過濾資料,拿到有價值的資料進行處理。資料的存放 python 的 set集合 可以防止資料的重複 需要長期儲存...

乙隻R語言de爬蟲

該爬蟲爬取得是某地新聞內容 pa1 用於找到href鏈結 pa2 用於根據鏈結找到新聞內容 pa3 用於儲存進資料庫 嘿嘿 爬蟲pa1 library xml 引入xml包 givehref function rootnode givenames function rootnode getpage ...