正则表达式01

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

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

[ ] 原子组

. 匹配任意字符

^ 开始符

结束符

  • 匹配多次

? 匹配 0

  • 匹配1以上

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容