一、正規表示式
正規表示式(regular expression),又稱規則表示式,它是對字串操作的一種邏輯公式,即用事先定義好的一些特定字元以及這些特定字元的組合,組成乙個「規則字串」,這個「規則字串」用來表達對字串的一種過濾邏輯。電腦科學的乙個概念。正規表示式通常被用來檢索、替換那些符合某個模式(規則)的文字。簡單的說就是其中一種進行資料篩選的表示式。
二、正則能幹什麼?
快速高效的查詢和分析字串. 也可以用於驗證乙個字串是否符合某個給定的規則. 使用正規表示式,可以: 測試字串的某個模式。例如,可以對乙個輸入字串進行測試,看在該字串是否存在乙個**號碼模式或乙個信用卡號碼模式。1.驗證字串是否符合指定特徵,比如驗證是否是合法的郵件位址。2.用來查詢字串,從乙個長的文字中查詢符合指定特徵的字串,比查詢固定字串更加靈活方便。3.用來替換,比普通的替換更強大。
三、正則的組成單位
由原子組成,是正規表示式中最基本的組成單位,每個正規表示式中至少要含有乙個原子。
四、那些可以作為原子
分為四種:1.普通字元作為原子 2.非列印字元作為原子3.通用字元作為原子4.原子表
1.普通字元作為原子
import re
string="beijingshanghai"
#普通字元作為原子
pat="bei"
#正規表示式函式
hello=re.search(pat,string)
print(hello)
執行結果(提取bei)
import re
string="beijingshanghai"
#普通字元作為原子
pat="beiy"
#正規表示式函式
rst=re.search(pat,string)
print(rst)
執行結果(沒有beiy)
2.非列印字元作為原子
import re
string='''beijingshang
hai'''
#普通字元作為原子
pat="\n"
#正規表示式函式
rst=re.search(pat,string)
print(rst)
執行結果(存在換行符)
import re
string='''beijingshanghai'''
#普通字元作為原子
pat="\n"
#正規表示式函式
rst=re.search(pat,string)
print(rst)
執行結果(不存在換行符)
3.通用字元作為原子
\w 字母、數字、下劃線
\w 除字母、數字、下劃線
\d 十進位制數字
\d 除十進位制數字
\s 空白字元
\s 除空白字元
如果在beijing4 56289tianmazo提取兩個數字
import re
string='''beijing4 56289tianmazo'''
pat="\d\d"
rst=re.search(pat,string)
print(rst)
執行結果(提取出來了第乙個兩個數字)
如果在beijing4 56289tianmazo提取兩個數字後前乙個字母
import re
string='''beijing45 6289tianmazo'''
pat="\w\d\d"
rst=re.search(pat,string)
print(rst)
執行結果
4.原子表
import re
#原子表
string='''beijing513464shanghai'''
pat="bei[j]in"
rst=re.search(pat,string)
print(rst)
執行結果 網路爬蟲二
網路抓取系統分為核心和擴充套件元件兩部分。核心部分是乙個精簡的 模組化的爬蟲實現,而擴充套件部分則包括一些便利的 實用性的功能。目標是盡量的模組化,並體現爬蟲的功能特點。這部分提供簡單 靈活的api,在基本不改變開發模式的情況下,編寫乙個爬蟲。擴充套件元件部分提供一些擴充套件的功能,內建了一些常用的...
網路爬蟲(二)
爬取海王電影20180101 20190101影評 import json import time from datetime import datetime,timedelta import requests 傳送請求,獲取響應 defget data url headers response r...
python網路爬蟲(二)
在第一篇中,我們介紹了如何進行發起乙個http請求,並接受響應。在這一部分中,我們介紹一下如何解析網頁並提取我們需要的資料。我們採用requests這個庫進行乙個網頁請求。r requests.get headers,kwargs 通過這一句 我們即可獲得伺服器傳給我們的響應內容 不考慮連線錯誤等情...