/W 匹配非特殊字符 即字母 數(shù)字下劃線
/d 匹配任意的十進(jìn)制數(shù)
/s 匹配任意空白字符
/W 大寫W,匹配小w相反的詞,即匹配: 特殊字符
/D 除了任意十進(jìn)制的
[ ] 原子組
. 匹配任意字符
^ 開始符
結(jié)束符
- 匹配多次
? 匹配 0
- 匹配1以上
T{ 3} 前面的原子T出現(xiàn)了3次
{n,}剛好出現(xiàn)n次
{n,m}至少出現(xiàn)n次,最多出現(xiàn)m次
| 或選擇符,1|2 ,即1或2
( ) 提取一個(gè)內(nèi)容上
作業(yè):
抓取一個(gè)漫畫網(wǎng)站的排行榜的漫畫名

image.png
網(wǎng)址:http://www.pufei.net/shaonianrexue/
打開源碼查看規(guī)律:

image.png
import re
import urllib.request
data = urllib.request.urlopen("http://www.pufei.net/shaonianrexue/").read()
#對(duì)讀取的結(jié)果進(jìn)行編碼
data= data.decode("gb2312")
#定義正則表達(dá)式
pat='class="vtip">(.*?)</a>'
#根據(jù)正則表達(dá)式,進(jìn)行匹配得到結(jié)果放入到result
result= re.compile(pat).findall(str(data))
#定義一個(gè)打開的文件
refile = open("/Users/vincentwen/Downloads/requestfile.txt","w")
#循環(huán)寫入內(nèi)容,并換行
for i in range(0,len(result)):
refile.write(result[i]+"\n")
#關(guān)閉打開的文件
refile.close()

image.png

image.png