网络爬虫(4)--正则表达式
2016-06-26 17:54
417 查看
正则表达式在文本匹配中使用广泛。网络爬虫中往往涉及对页面某些信息的提取,正则表达式能够极大的简化我们对信息的筛选过程。
对正则表达式的学习可以参考http://www.runoob.com/python/python-reg-expressions.html
我们以对一个邮箱的正则匹配为例,介绍正则表达式的应用。
一个邮箱地址可以分解成以下几种规则:
邮箱地址的第一部分至少包括一种内容:大写字母,小写字母,数字0-9,点号(.),加号(+)或者下划线(_),对应的正则表达式为[A-Za-z0-9\._+]+
之后,包含一个@符号,在@之后,邮箱地址至少包含一个大写或小写字母,对应正则式为[A-Za-z]+,然后包含一个点号,最后邮箱地址以com、org、edu、net等域名结尾,(com|org|edu|net)
将这几条规则汇总,可以得到匹配邮箱的正则表达式为:
[A-Za-z0-9\._+]+@[A-Za-z]+\.(com|org|edu|net)
利用这一表达式我们就可以很方便的解析出网页中的邮箱地址而不需要写很多的字符判断。
正则表达式不仅可以独立使用,还可以用在BeautifulSoup中,事实上,大多数支持字符串参数的函数都可以使用正则表达式实现。
如在BeautifulSoup的find函数中,find("img",{“src”:re.compile("xxx")}可以用来查找符合规则的图像。
来自为知笔记(Wiz)
对正则表达式的学习可以参考http://www.runoob.com/python/python-reg-expressions.html
我们以对一个邮箱的正则匹配为例,介绍正则表达式的应用。
一个邮箱地址可以分解成以下几种规则:
邮箱地址的第一部分至少包括一种内容:大写字母,小写字母,数字0-9,点号(.),加号(+)或者下划线(_),对应的正则表达式为[A-Za-z0-9\._+]+
之后,包含一个@符号,在@之后,邮箱地址至少包含一个大写或小写字母,对应正则式为[A-Za-z]+,然后包含一个点号,最后邮箱地址以com、org、edu、net等域名结尾,(com|org|edu|net)
将这几条规则汇总,可以得到匹配邮箱的正则表达式为:
[A-Za-z0-9\._+]+@[A-Za-z]+\.(com|org|edu|net)
利用这一表达式我们就可以很方便的解析出网页中的邮箱地址而不需要写很多的字符判断。
正则表达式不仅可以独立使用,还可以用在BeautifulSoup中,事实上,大多数支持字符串参数的函数都可以使用正则表达式实现。
如在BeautifulSoup的find函数中,find("img",{“src”:re.compile("xxx")}可以用来查找符合规则的图像。
来自为知笔记(Wiz)
相关文章推荐
- linux网络编程之TCP接口详解
- HTTP服务器的简单实现
- Select模型及tcp select模型
- HTTPS的七个误解
- The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path的解决办法
- 【DAY18】Socket编程,ROSE建模与TCP/IP的学习笔记
- 网络爬虫(3)--Beautiful页面解析
- 封装OKHttp
- 利用Nginx搭建http和rtmp协议的流媒体服务器
- python2.0_s12_day10_Twsited异步网络框架
- TCP包防粘连的读取方法
- 亦大自学51cto--网络工程师成长之路前沿
- TCP的代码
- win10怎么映射网络驱动器,怎么连接共享文件夹
- 网络协议系列之:TCP连接的建立与释放
- Android 网络工具类HttpManaer
- 久久发营销软件站
- 使用URLConnction发送HTTP/HTTPS请求
- 【网络高可用】华为交换机/路由器链路聚合
- 网络协议系列之二:HTTP(2)