Python爬虫笔记之re查找


前言

记录利用re查找元素的常用方法。

操作符

  • . :任意单个字符
  • *:前一字符扩展0到∞次
  • +:前一字符扩展1到∞次
  • ?:前一字符扩展0或1次
  • {m}:前一字符扩展m次
  • {m,n}:前一字符扩展m到n次
  • ^:在开头
  • $:在结尾
  • \d:[0-9]
  • \w:[A-Z a-z 0-9]
  • [ ] :字符集
  • ( ):分组
  • |:左右任一个
  • [^]:非字符集
    实例:
^[a-z A-z]+$ 由字母组成
^[0-9]+$ 由数字组成
^-?\d+$ 整数
[\u4e00-\u9fa] 中文字符
(25[0-5])|(2[0-4]\d)|(1\d{2})|([1-9]?\d) 0~255,由大到小分段

查找方法

re.search(pattern,string,flags=0) #返回第一个查找结果(match对象)
re.match(pattern,string,flags=0) #从头匹配,返回第一个查找结果(match对象)
re.findall(pattern,string,flags=0) #以列表类型返回全部结果
re.split(pattern,string,maxsplit,flags=0) #分隔,返回列表
re.finditer(pattern,string,flags=0) #返回迭代的match对象
re.sub(pattern,repl,string,count=0,flags=0) #替换,返回替换后的字符串
#pattern:正则表达式,r"text"
#string:待匹配字符串
#flag:re.I忽略大小写,re.M:把^当作匹配开始,re.S:操作符能匹配所有字符。
#maxsplit:最大分隔数,其余按一个返回
#repl:替换的字符串,count:替换次数

使用方法

一次操作:
rst=re.search(...)
多次操作:
pat=re.compile(pattern,flags)
rst=pat.search(...)
  • 贪婪匹配:默认,输出最长查找结果
  • 最小匹配:*?、+?、 ??、{m,n}?

match对象

属性:

  • match.string:待匹配文本
  • match.re:正则表达式
  • match.pos:起始位置
  • match.endpos:结束位置
    方法:
  • match.group(0):找到的字符串
  • match.start():在原字符串起始位置
  • match.end():在原字符串结束位置
  • match.span():(start,end)

使用

在这里插入图片描述

re.findall(r"语言.+",r.text)
>>>['语言程序设计</span></b></p>\r']

re.search(r"lang=..-..",r.text).group(0)
>>>'lang=ZH-CN'

print(re.match(r"lang=..-..",r.text))
>>>None

总结

使用re查找元素可以简单快速地查找特征元素,但当元素的特征性不强时,查找的效果较差,需要配合其他查找方式使用。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据太大 网盘下载 01 1.01爬虫说明.mp4 02 1.02爬虫技术库及反爬说明.mp4 03 1.03百度搜索及文件下载.mp4 04 1.04百度翻译之urllib的POST请求.mp4 05 1.05复杂的GET请求多页数据.mp4 06 1.06urllib的build_opener及handlers.mp4 07 1.07上下文扩展和Dao设计.mp4 08 2.01回顾知识点.mp4 09 2.02requests各方法及参数讲解.mp4 10 2.03requests的请求实战及Response对象.mp4 11 2.04xpath解析的应用.mp4 12 2.05古诗文网的爬虫.mp4 13 2.06request的session及图片验证码处理.mp4 14 3.01回顾知识点.mp4 15 3.02封装ElasticSearch操作的SDK.mp4 16 3.03re正则解析站长之家数据.mp4 17 3.04设计多任务爬虫框架.mp4 18 3.05进程_线程实现多任务爬虫.mp4 19 3.06bs4爬虫meinv网.mp4 20 4.01回顾知识点.mp4 21 4.02Flask实现文件上传服务.mp4 22 4.03设计协程的爬虫框架.mp4 23 4.04协程实现的美女网爬虫.mp4 24 4.05解析zhaopin网的所有城市和初始使用selenium.mp4 25 4.06Selenium爬取zhaopin.mp4 26 4.07说明window_handlers.mp4 27 4.08Selenium爬取百聘网.mp4 28 5.01回顾知识点.mp4 29 5.02chrome-headleass应用.mp4 30 5.03docker启动splash服务.mp4 31 5.04扩展Docker搭建私有仓库.mp4 32 5.05扩展VM安装ubuntu-server.mp4 33 5.06扩展远程连接server及免密登录.mp4 34 5.07单元测试及测试套件.mp4 35 6.01回顾与总结上周知识点.mp4 36 6.02日志模块的应用.mp4 37 6.03安装scrapy的说明.mp4 38 6.04scrapy架构说明.mp4 39 6.05scrapy指令.mp4 40 6.06scrapy的Response及数据解析.mp4 41 7.01回顾知识点.mp4 42 7.02Item应用.mp4 43 7.03pipeline处理_1.mp4 44 7.04定量爬虫及中间件说明.mp4 45 7.05下载中间件的方法说明.mp4 46 7.06下载中间件的Cookies.mp4 47 7.07crawlspider规则爬虫.mp4 48 8.01回顾知识点.mp4 49 8.02强化规则爬虫.mp4 50 8.03图片管道的应用.mp4 51 8.04说明自定义图片管道.mp4 52 8.05scrapy中日志记录器.mp4 53 8.06扩展解释器的excepthook.mp4 54 8.07自定义Selenium下载中间件.mp4 55 9.01回顾知识点.mp4 56 9.02分布式爬虫.mp4 57 9.03爬虫项目完整调试.mp4 58 9.04Linux云服务器部署爬虫.mp4 59 9.05scrapyd部署爬虫.mp4 60 9.06docker部署爬虫项目.mp4 61 9.07crontab.mp4 62 10.01回顾知识点.mp4 63 10.02MongoDB的基本操作.mp4 64 10.03总结mongodb.mp4 65 10.04Mongo数据存储及Shell自动部署.mp4 课件+代码 .zip

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值