python爬虫学习第十三天——正则表达式

来源:互联网 发布:淘宝账号怎么绑定邮箱 编辑:程序博客网 时间:2024/05/23 19:28

今天的主要内容是正则表达式,后面有一个练习是关于lambda表达式的
题目加了个说明是为了以后更快的来查找正则表达式的格式
表2-1只是python正则的写法,他跟c语言的写法进本相同,但与Java的还是有一些区别的
另外关于lambda表达式,这个东西我学过但是平时杰出的不是很多,听说在构建大型应用的时候非常有用

这里写图片描述

练习1 正则表达式1
(1) 字母“a”至少出现一次;
(2) 后面跟着字母“b”重复 5 次;
(3) 后面再跟字母“c”重复任意偶数次;
(4) 最后一位是字母“d” ,也可以没有

aa*bbbbb(cc)*(d| )

练习2 正则表达式2
1.邮箱地址的第一部分至少包括一种内容:大 写字母、小写字母、数字0~9、点号(.)、加号 (+)或下划线(_)
2.之后,邮箱地址会包含一个@符号
3.在符合@之后,邮箱地址还必须至少包含一 个大写或小写字母
4.之后跟一个点号(.)
5.最后邮箱地址用com、org、edu、net结尾 (实际上,顶级域名有很多种可能,但是作为示 例演示这四个后缀够用了)

[A-Za-z0-9.+_]+@[A-Za-z]+.(com|org|edu|net)

练习3 用正则表达式抓取所有商品图片

# from urllib.request import urlopen# from bs4 import BeautifulSoup# import re# r = urlopen('http://www.pythonscraping.com/pages/page3.html')# bsObj = BeautifulSoup(r)# # ../img/gifts/img3.jpg# images = bsObj.findAll('img',{'src':re.compile('\.\./img/gifts/img.\.jpg')})# for image in images:#   print(image['src'])

练习4 lambda表达式简单实例

# from urllib.request import urlopen# from bs4 import BeautifulSoup# import re# r = urlopen('http://www.pythonscraping.com/pages/page3.html')# bsObj = BeautifulSoup(r)# images = bsObj.findAll(lambda tag:len(tag.attrs) == 2)# for image in images:#   print(image.get_text())