python网络爬虫之解析网页的正则表达式(爬取4k动漫图片)[三]

本章可是一个重中之重,因为我们今天是要爬取一个图片而不是一个网页或是一个json

所以我们也就不用用到selenium模块了,当然有兴趣的同学也一样可以使用selenium去爬取。

为了方便我们就用requests模块就够了,因为够快。。。

上章的课程传送门:


[python网络爬虫之入门[一]](https://www.cnblogs.com/liwangwang/p/11977110.html)
[python网络爬虫之自动化测试工具selenium\[二\]](https://www.cnblogs.com/liwangwang/p/11977134.html)


理一下本章思路:

学习并掌握好正则表达式

使用正则表达式去分析网站来获取特定信息

一、正则表达式的学习 1、正则表达式的匹配工具

如果是学过正则表达式的却不知道这个工具的话,那绝对是一个很大的遗憾。

这个也叫做猫头鹰,

python网络爬虫之解析网页的正则表达式(爬取4k动漫图片)[三]

 

 

可能还有一些比较好用的工具把,但这个就已经够用了,

下载路径:

链接:https://pan.baidu.com/s/1g8Zn-CKopsnCjA_o9jS0TQ
提取码:iq9s

2、正则表达式的样式

本着大家好,我好的思想理念,所以我觉得给大家起一个匹配案例就行了,其他的正则自己可以慢慢看代码理解
放图:

python网络爬虫之解析网页的正则表达式(爬取4k动漫图片)[三]

 

 使用regexbuddy做检测:

python网络爬虫之解析网页的正则表达式(爬取4k动漫图片)[三]

 

 失败案例

python网络爬虫之解析网页的正则表达式(爬取4k动漫图片)[三]

 

 在python中的一个测试

python网络爬虫之解析网页的正则表达式(爬取4k动漫图片)[三]

 

 

3、正则表达式的案例

""" 正则表达式 """ import re str = "Liwangwang321@163.com" # 匹配所有邮箱 # f = re.match("^\w{4,20}@\w+\.com$",str) # 匹配qq或163邮箱 # f = re.match("\w{4,20}@(qq|163)\.com",str) # 匹配<div><span>python</span></div> \num方法 # str = "<div><span>python</span></div>" # f = re.match("<([A-Za-z]+)><([A-Za-z]+)>.*</\\2></\\1>",str) # 匹配<div><span>python</span></div> 起别名方法 str = "<div><span>python</span></div>" f = re.match("<(?P<name1>[A-Za-z]+)><(?P<name2>[A-Za-z]+)>.*</(?P=name2)></(?P=name1)>",str) # 2、match和search的区别 # str = "你好,123,现在在线人数为9999" # f = re.match("\\d*",str) # f = re.search(",\\d*",str) # f = re.findall("\\d*",str) # 3、贪婪与非贪婪 :加个?就行 # f = re.findall('src=".*"',str) # f = re.findall('src="http://www.likecs.com/.*?"',str) # 4、免写转义\\ : 加个r # f = re.match(r"<([A-Za-z]+)><([A-Za-z]+)>.*</\2></\1>",str) if f: print("匹配成功") print(f.group()) # for i in f: # print(i) else: print("匹配失败")

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zysjws.html