#乙個python正規表示式的練習
#抓取糗事百科乙個頁面,輸出標題和內容
import urllib.request
import re
url = ""
header =
#用request包裝url和header
req = urllib.request.request(url, headers = header);
#再將打包好的requst傳給urlopen,對某些**可用urlopen(url),如果拒絕連線,
# 可用urlopen(request)
with urllib.request.urlopen(req) as f:
#轉換成位元組陣列
content = f.read().decode("utf-8")
# .*? 匹配任意字元 (.*?)匹配結果返回乙個list ,pattern中第乙個(.*?)對應
# item[0],第二個(.*?)對應item[1]
pattern = re.compile('.*?.*?="content".*?(.*?).*?="stats"', re.s)
#items是乙個list
items = re.findall(pattern,content)
i = 1
for item in items:
print("第", i, "個段子")
print(item[0], item[1])
i = i+1
print("----------------")
正規表示式小練習
1 匹配整數或者小數 包括正數和負數 d d 表示 匹配0次或一次,d表示整數,表示匹配一次或多次,d 表示小數 2 匹配年月日日期 格式2018 12 6 1 d 1 0 2 0?1 9 3 01 12 d 0?1 9 1.1 9 表示年是以數字1 9開頭的,d表示年的位數,1 9 d就表示1 9...
Python正規表示式練習
表示匹配任意字元,除了換行符,當re.dotall標記被指定時,則可以匹配包括換行符的任意字元。import re a xy123 b re.findall x.a c re.findall x.a print b print c 輸出結果 xy12 xy1 的使用舉例 匹配前乙個字元0次或無限次 ...
爬蟲 正規表示式的小練習
1 34578 中的乙個 9位數字 text 13555310477 ret re.match 1 34578 d text print ret.group 數字,字母或者下劃線 至少一位的數字或字母 至少以為的字母 text 1367393 qq.com ret re.match w 0 9a z...