本章可是一个重中之重,因为我们今天是要爬取一个图片而不是一个网页或是一个json
所以我们也就不用用到selenium模块了,当然有兴趣的同学也一样可以使用selenium去爬取。
为了方便我们就用requests模块就够了,因为够快。。。
上章的课程传送门:
[python网络爬虫之入门[一]](https://www.cnblogs.com/liwangwang/p/11977110.html)
[python网络爬虫之自动化测试工具selenium\[二\]](https://www.cnblogs.com/liwangwang/p/11977134.html)
理一下本章思路:
学习并掌握好正则表达式
使用正则表达式去分析网站来获取特定信息
一、正则表达式的学习 1、正则表达式的匹配工具如果是学过正则表达式的却不知道这个工具的话,那绝对是一个很大的遗憾。
这个也叫做猫头鹰,
可能还有一些比较好用的工具把,但这个就已经够用了,
下载路径:
链接:https://pan.baidu.com/s/1g8Zn-CKopsnCjA_o9jS0TQ
提取码:iq9s
本着大家好,我好的思想理念,所以我觉得给大家起一个匹配案例就行了,其他的正则自己可以慢慢看代码理解
放图:
使用regexbuddy做检测:
失败案例
在python中的一个测试
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("匹配失败")