爬虫,数据分析那些事

正则表达式01

2018-01-28  本文已影响17人  whong736

/W 匹配非特殊字符 即字母 数字下划线
/d 匹配任意的十进制数
/s 匹配任意空白字符

/W 大写W,匹配小w相反的词,即匹配: 特殊字符
/D 除了任意十进制的

[ ] 原子组

. 匹配任意字符

^ 开始符

结束符

? 匹配 0

T{ 3} 前面的原子T出现了3次

{n,}刚好出现n次

{n,m}至少出现n次,最多出现m次

| 或选择符,1|2 ,即1或2

( ) 提取一个内容上

作业:

抓取一个漫画网站的排行榜的漫画名


image.png

网址:http://www.pufei.net/shaonianrexue/

打开源码查看规律:


image.png
import re
import urllib.request


data = urllib.request.urlopen("http://www.pufei.net/shaonianrexue/").read()

#对读取的结果进行编码
data= data.decode("gb2312")

#定义正则表达式
pat='class="vtip">(.*?)</a>'

#根据正则表达式,进行匹配得到结果放入到result
result= re.compile(pat).findall(str(data))

#定义一个打开的文件
refile = open("/Users/vincentwen/Downloads/requestfile.txt","w")

#循环写入内容,并换行
for i in range(0,len(result)):
    refile.write(result[i]+"\n")

#关闭打开的文件
refile.close()



image.png
image.png
上一篇 下一篇

猜你喜欢

热点阅读