Python爬虫程序设计KC18.pptx

Python爬虫程序设计KC18.pptx

ID:52784196

大小:67.63 KB

页数:19页

时间:2020-03-13

Python爬虫程序设计KC18.pptx_第1页
Python爬虫程序设计KC18.pptx_第2页
Python爬虫程序设计KC18.pptx_第3页
Python爬虫程序设计KC18.pptx_第4页
Python爬虫程序设计KC18.pptx_第5页
资源描述:

《Python爬虫程序设计KC18.pptx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1.8正则表达式正则表达式是用来匹配与查找字符串的,从网上爬取数据自然或多或少会用到正则表达式。Python的正则表达式要先引入re模块,正则表达式以r引导,例如:importrereg=r"d+"m=re.search(reg,"abc123cd")print(m)其中r"d+"正则表达式表示匹配连续的多个数值,search是re中的函数,从"abc123cd"字符串中搜索连续的数值,得到"123",返回一个匹配对象,因此程序的结果如下:<_sre.SRE_Matchobject;span=(3,6),

2、match='123'>从结果看出,在指定的字符串中找到了连续的数值,它们是"123",span(3,6)表示开始位置是3,结束位置是6,这正好是"123"在"abc123cd"中的位置。Python中关于正则表达式的规则比较多,下面将介绍主要的内容,详细内容读者可以参考相关资料。1、字符"d"匹配0-9之间的一个数值。例如:importrereg=r"d"m=re.search(reg,"abc123cd")print(m)结果找到了第一个数值"1":<_sre.SRE_Matchobject;span

3、=(3,4),match='1'>2、字符"+"重复前面一个匹配字符一次或者多次。例如:importrereg=r"bd+"m=re.search(reg,"a12b123c")print(m)结果找到了"b123":<_sre.SRE_Matchobject;span=(3,7),match='b123'>注意:r"bd+"第一个字符要匹配"b",后面是连续的多个数字,因此是"b123",不是"a12"。3、字符"*"重复前面一个匹配字符零次或者多次。"*"与"+"类似,但有区别,例如:importre

4、reg=r"ab+"m=re.search(reg,"acabc")print(m)reg=r"ab*"m=re.search(reg,"acabc")print(m)结果:<_sre.SRE_Matchobject;span=(2,4),match='ab'><_sre.SRE_Matchobject;span=(0,1),match='a'>4、字符"?"重复前面一个匹配字符零次或者一次。例如:importrereg=r"ab?"m=re.search(reg,"abbcabc")print(m)结果:<

5、_sre.SRE_Matchobject;span=(0,2),match='ab'>匹配结果是"ab",其中b重复一次。5、字符"."代表任何一个字符,但是没有特别声明时不代表字符""。例如:importres="xaxby"m=re.search(r"a.b",s)print(m)结果"."代表了字符"x"<_sre.SRE_Matchobject;span=(1,4),match='axb'>6、"

6、"代表把左右分成两个部分。例如:importres="xaabababy"m=re.search(r

7、"ab

8、ba",s)print(m)结果匹配"ab"或者"ba"都可以:<_sre.SRE_Matchobject;span=(2,4),match='ab'>7、特殊字符使用反斜线""引导,例如"r"、""、"t"、"\"分别表示回车、换行、制表符号与反斜线自己本身。例如:importrereg=r"ab?"m=re.search(reg,"cabcabc")print(m)结果匹配"ab":<_sre.SRE_Matchobject;span=(1,4),match='ab'

9、>8、字符"b"表示单词结尾,单词结尾包括各种空白字符或者字符串结尾。例如:importrereg=r"carb"m=re.search(reg,"Thecarisblack")print(m)结果匹配"car",因为"car"后面是以个空格:<_sre.SRE_Matchobject;span=(4,7),match='car'>9、"[]"中的字符是任选择一个,如果字符是ASCII码中连续的一组,那么可以使用"-"符号连接,例如[0-9]表示0-9的其中一个数字,[A-Z]表示A-Z的其中一个大写字符

10、,[0-9A-Z]表示0-9的其中一个数字或者是A-Z的其中一个大写字符。例如:importrereg=r"x[0-9]y"m=re.search(reg,"xyx2y")print(m)结果匹配"x2y":<_sre.SRE_Matchobject;span=(2,5),match='x2y'>10、"^"出现在[]的第一个字符位置,就代表取反,例如[^ab0-9]表示不是a、b,也不是0-9的数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。