python学习笔记——提取网页中的信息正则表达式re
2018-05-22 22:57
393 查看
被用来检索\替换那些符合某个模式(规则)的文本,对于文本过滤或规则匹配,最强大的就是正则表达式,是python爬虫里必不可少的神兵利器。
[a-z] 任意一个小写字母
[A-Z]任意一个大写字母
[^0-9] 匹配非数字,等价\D
\w 等价[a-z0-9_],字母数字下划线
\W 等价对\w取非
. 任意字符
[] 匹配内部任意字符或子表达式
[^] 对字符集合取非
* 匹配前面的字符或者子表达式0次或多次
+ 匹配前一个字符至少1次
? 匹配前一个字符0次或1次
^ 匹配字符串开头
$ 匹配字符串结束
match: 匹配一次从开头;
search: 匹配一次,从某位置;
findall: 匹配所有;
split: 分隔;
sub: 替换;
把 i=d%0A&from=AUTO&to=AUTO&smartresult=dict
转换成下面的形式:
i:d%0A
from:AUTO
to:AUTO
smartresult:dict
正则表达式30分钟入门教程
1 正则表达式re基本规则
[0-9] 任意一个数字,等价\d[a-z] 任意一个小写字母
[A-Z]任意一个大写字母
[^0-9] 匹配非数字,等价\D
\w 等价[a-z0-9_],字母数字下划线
\W 等价对\w取非
. 任意字符
[] 匹配内部任意字符或子表达式
[^] 对字符集合取非
* 匹配前面的字符或者子表达式0次或多次
+ 匹配前一个字符至少1次
? 匹配前一个字符0次或1次
^ 匹配字符串开头
$ 匹配字符串结束
2 python的re模块
几个重要的方法:match: 匹配一次从开头;
search: 匹配一次,从某位置;
findall: 匹配所有;
split: 分隔;
sub: 替换;
3 正则表达式的两种模式
3.1 贪婪模式:(.*)
import re str = "hello_python3_world" re_obj = re.compile(".*_") data = re_obj.findall(str) print(data) # 贪婪模式,一直匹配到最后一个下划线_
3.2 懒惰模式:(.*?)
import re str = "hello_python3_world" re_obj1 = re.compile(".?_") #['o_', '3_'] re_obj2 = re.compile(".*?_") #['hello_', 'python3_'] data1 = re_obj1.findall(str) data2 = re_obj2.findall(str) print(data1) print(data2) # 懒惰模式,匹配到第一个下划线_时即停止继续匹配
4 相关软件
RegexTester.exe5 正则 BS lxml的比较
6 示例
5.1 示例一
用正则表达式实现下面的效果:把 i=d%0A&from=AUTO&to=AUTO&smartresult=dict
转换成下面的形式:
i:d%0A
from:AUTO
to:AUTO
smartresult:dict
import re str = "i=d%0A&from=AUTO&to=AUTO&smartresult=dict" re_obj = re.compile("&") data = re_obj.split(str) #data数据存储['i=d%0A', 'from=AUTO', 'to=AUTO', 'smartresult=dict'] m = len(data) for i in range(m): print(data[i])
正则表达式30分钟入门教程
相关文章推荐
- Python抓取离线网页信息_学习笔记_1
- python爬虫学习笔记4:信息提取
- 【极客学院】-python学习笔记-3-单线程爬虫 (request安装遇到问题及解决,应用requests提取信息)
- 【python学习笔记】用正则表达式从含中文的网页中提取数据(含编码转换)
- python笔记之提取网页中的超链接
- python学习笔记 获取对象信息
- 2. Python脚本学习实战笔记二 分析提取数据成图
- python-获取提取网页url爬虫学习(1)
- j记录学习--python网络爬虫与信息提取
- python3.4学习笔记(十三) 网络爬虫实例代码,使用pyspider抓取多牛投资吧里面的文章信息,抓取政府网新闻内容
- Python学习笔记15:标准库之获取进程信息(os包)
- python Django 学习笔记(二)—— 一个简单的网页
- [3]Python学习笔记---写一个Python程序把CSDN专栏的所有文章另存为本地网页
- Python爬虫(入门+进阶)学习笔记 1-8 使用自动化神器Selenium爬取动态网页(案例三:爬取淘宝商品)
- 新手学习网页爬虫之携程网旅游线路信息过程笔记
- 学习笔记-python抓取网页数据
- python学习笔记-抓取网页图片脚本
- IPython 下的信息收集-魔力函数(page pinfo who等)- 千月的python linux 系统管理指南学习笔记(9)
- 【Python学习笔记】面向对象编程:获取对象信息
- 我的学习笔记02-Android下利用Jsoup从工行网页提取白银价格到自己的app