總結urlib,正則相關內容

2021-09-26 23:43:08 字數 2594 閱讀 1688

urllib2是用於獲取urls(統一資源定位符)的乙個python模組。它以urlopen函式的形式提供了非常簡單的介面。能夠使用各種不同的協議來獲取**。它還提供乙個稍微複雜的介面用於處理常見的情況:如基本身份驗證、cookies、proxies(**)等。這些是由handlers和openers物件提供。

request:它是最基本的模組,可以用來模擬傳送請求

error:異常處理模組,如果出現請求錯誤,我們可以捕獲這些異常,然後進行重試或其它操作以保證程式不會意外終止

parse:乙個工具模組,提供了url處理方法,比如拆分、解析、合併等

robotparser:主要用來識別**的robots.txt檔案,然後判斷哪些**可以爬、哪些**不可以爬,用的比較少。

urllib2模組定義的函式和類用來獲取url(主要是http的),他提供一些複雜的介面用於處理: 基本認證,重定向,cookies等。

urllib2支援許多的「url schemes」(由url中的「:」之前的字串確定 - 例如「ftp」的url方案如「且他還支援其相關的網路協議(如ftp,http)。我們則重點關注http。

在簡單的情況下,我們會使用urllib2模組的最常用的方法urlopen。但只要開啟http url時遇到錯誤或異常的情況下,就需要一些http傳輸協議的知識。我們沒有必要掌握http rfc2616。這是乙個最全面和最權威的技術文件,且不易於閱讀。在使用urllib2時會用到http rfc2616相關的知識,了解即可。

urllib2模組定義的函式和類用來獲取url(主要是http的),他提供一些複雜的介面用於處理: 基本認證,重定向,cookies等。

urllib2支援許多的「url schemes」(由url中的「:」之前的字串確定 - 例如「ftp」的url方案如「且他還支援其相關的網路協議(如ftp,http)。我們則重點關注http。

在簡單的情況下,我們會使用urllib2模組的最常用的方法urlopen。但只要開啟http url時遇到錯誤或異常的情況下,就需要一些http傳輸協議的知識。我們沒有必要掌握http rfc2616。這是乙個最全面和最權威的技術文件,且不易於閱讀。在使用urllib2時會用到http rfc2616相關的知識,了解即可。

正規表示式:

\cx 匹配由x指明的控制字元。例如, \cm 匹配乙個 control-m 或回車符。x 的值必須為 a-z 或 a-z 之一。否則,將 c 視為乙個原義的 『c』 字元。

\f 匹配乙個換頁符。等價於 \x0c 和 \cl。

\n 匹配乙個換行符。等價於 \x0a 和 \cj。

\r 匹配乙個回車符。等價於 \x0d 和 \cm。

\s 匹配任何空白字元,包括空格、製表符、換頁符等等。等價於 [ \f\n\r\t\v]。注意 unicode 正規表示式會匹配全形空格符。

\s 匹配任何非空白字元。等價於 [^ \f\n\r\t\v]。

\t 匹配乙個製表符。等價於 \x09 和 \ci。

\v 匹配乙個垂直製表符。等價於 \x0b 和 \ck。

$ 匹配輸入字串的結尾位置。如果設定了 regexp 物件的 multiline 屬性,則 $ 也匹配 『\n』 或 『\r』。要匹配 $ 字元本身,請使用 $。

( ) 標記乙個子表示式的開始和結束位置。子表示式可以獲取供以後使用。要匹配這些字元,請使用 ( 和 )。

匹配前面的子表示式零次或多次。要匹配 * 字元,請使用 *。

匹配前面的子表示式一次或多次。要匹配 + 字元,請使用 +。

. 匹配除換行符 \n 之外的任何單字元。要匹配 . ,請使用 . 。

[ 標記乙個中括號表示式的開始。要匹配 [,請使用 [。

? 匹配前面的子表示式零次或一次,或指明乙個非貪婪限定符。要匹配 ? 字元,請使用 ?。

\ 將下乙個字元標記為或特殊字元、或原義字元、或向後引用、或八進位制轉義符。例如, 『n』 匹配字元 『n』。』\n』 匹配換行符。序列 『\』 匹配 「」,而 『(』 則匹配 「(」。

^ 匹配輸入字串的開始位置,除非在方括號表示式中使用,此時它表示不接受該字元集合。要匹配 ^ 字元本身,請使用 ^。

。匹配前面的子表示式一次或多次。例如,『zo+』 能匹配 「zo」 以及 「zoo」,但不能匹配 「z」。+ 等價於 。

? 匹配前面的子表示式零次或一次。例如,「do(es)?」 可以匹配 「do」 、 「does」 中的 「does」 、 「doxy」 中的 「do」 。? 等價於 。

n 是乙個非負整數。匹配確定的 n 次。例如,『o』 不能匹配 「bob」 中的 『o』,但是能匹配 「food」 中的兩個 o。

n 是乙個非負整數。至少匹配n 次。例如,『o』 不能匹配 「bob」 中的 『o』,但能匹配 「foooood」 中的所有 o。『o』 等價於 『o+』。『o』 則等價於 『o*』。

m 和 n 均為非負整數,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,「o」 將匹配 「fooooood」 中的前三個 o。『o』 等價於 『o?』。請注意在逗號和兩個數之間不能有空格。

定位符使您能夠將正規表示式固定到行首或行尾。它們還使您能夠建立這樣的正規表示式,這些正規表示式出現在乙個單詞內、在乙個單詞的開頭或者乙個單詞的結尾。

定位符用來描述字串或單詞的邊界,^ 和 $ 分別指字串的開始與結束,\b 描述單詞的前或後邊界,\b 表示非單詞邊界。

執行緒相關內容總結

1 corepoolsize 代表核心執行緒數。每當新的任務提交過來的時候,執行緒池就會建立乙個核心執行緒來執行這個任務,即使已經有其他的核心執行緒處於空閒狀態。而當需要執行的任務數大於核心執行緒數時,將不再建立新的核心執行緒。2 maximumpoolsize 代表執行緒所允許的最大數量。即,當阻...

檢測相關內容總結

設取樣點為 y n,n 1,n 這些取樣點由目標訊號 m ae 和i q兩路功率均為 sigma 2 2 的高斯白雜訊 omega n 組成,對應假設 h 0 和 h 1 下 y n 的組成分別為 h 0 y n omega n h 1 y n m omega n 設 z n y n 則對應假設 h...

oracle 許可權相關內容總結

1.系統許可權管理 1.1 3個預設使用者 oracle 9i sys change on install as sysdba sqlplus as sysdba system manager scott triger oracle 10g以上 sys 安裝的時候設定.as sysdba syste...