python爬虫 正则表达式 re.finditer 元字符 贪婪匹配 惰性匹配
测试代码1:
main5.py
# -*- coding: utf-8 -*-
import reif __name__ == '__main__':# findall匹配字符串中所有的符合正则的内容lst = re.findall(r"\d+", "濮阳电话区号:0393,郑州电话区号:0371")print(lst)# 【推荐】finditer匹配字符串中所有的内容[返回的是迭代器],从迭代器中拿到内容需要.group()it = re.finditer(r"\d+", "濮阳电话区号:0393,郑州电话区号:0371")for i in it:print(i.group())# search,找到一个结果就返回,返回的结果是match对象,拿到数据需要.group()s = re.search(r"\d+", "濮阳电话区号:0393,郑州电话区号:0371")print(s.group())# match,从头开始匹配s = re.match(r"\d+", "0393,郑州电话区号:0371")print(s.group())# 【推荐】finditer匹配字符串中所有的内容[返回的是迭代器],从迭代器中拿到内容需要.group()# 预加载正则表达式obj = re.compile(r"\d+")it = obj.finditer("濮阳电话区号:0393,郑州电话区号:0371")for i in it:print(i.group())
测试代码2:python爬虫很常用的从网页提取数据例子
main6.py
# -*- coding: utf-8 -*-
import reif __name__ == '__main__':s = """<div class= 'tom'><span id= '1'>汤姆</span></div><div class= 'kali'><span id= '2'>凯丽</span></div><div class= 'lnr'><span id= '3'>罗恩</span></div>"""# 【推荐】finditer匹配字符串中所有的内容[返回的是迭代器],从迭代器中拿到内容需要.group()# 预加载正则表达式,(?P<分组名称>正则表达式)可以单独从正则匹配的内容中进一步提取内容,标志处添加re.S是让.匹配换行符,即匹配任意字符。obj = re.compile(r"<div class= '(?P<class>.*?)'><span id= '(?P<id>\d)'>(?P<name>.*?)</span></div>", re.S)result = obj.finditer(s)for i in result:print(i.group("class")+" "+i.group("id")+" "+i.group("name"))
效果:
tom 1 汤姆
kali 2 凯丽
lnr 3 罗恩
关注公众号,获取更多资料
python爬虫 正则表达式 re.finditer 元字符 贪婪匹配 惰性匹配相关推荐
- python爬虫正则表达式实例-python爬虫 正则表达式解析
这篇文章主要介绍了python爬虫 正则表达式解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 - re.I # 忽略大小写 - re.M # 多 ...
- python爬虫 -- 正则表达式 与 Re模块的介绍
Regular Expression,正则表达式,一种使用表达式的方式对字符串进行匹配的语法规则. 爬虫中我们抓取到的网页源代码本质上就是一个超长的字符串,想从里面提取内容.用正则再合适不过了. 正则 ...
- python爬虫正则表达式实例-python爬虫学习三:python正则表达式
python爬虫学习三:python正则表达式 1.正则表达式基础 a.正则表达式的大致匹配过程: 1.依次拿出表达式和文本中的字符比较 2.如果每一个字符都能匹配,则匹配成功:一旦有匹配不成功的字符 ...
- python爬虫——正则表达式
一.匹配模式和描述. 模式 描述 \w 匹配字母数字及下划线 \W 匹配非字母数字下划线 \s 匹配任意空白字符,等价于[\t\n\r\f] \S 匹配任意非空字符 \d 匹配任意数字,等价于[0-9 ...
- Python爬虫——正则表达式(超详细,附带实战演练)
目录 前言 正则表达式 re库--常用方法 查找一个匹配项 查找多个匹配项 分割 替换 正则表达式对象 re库--修饰符 小技巧 匹配目标 贪婪与非贪婪匹配 实战演练 页面分析 抓取页面源代码 正则提 ...
- python爬虫正则表达式实例-使用正则表达式进行页面提取
使用正则表达式进行页面提取 上节课我们学习了如何使用 BeautifulSoup 来解析页面,这节课我们来学习下如何使用正则来解析页面. 正则表达式的基本概念 正则表达式基本语法 正则表达式常用函数 ...
- python爬虫正则表达式匹配为空的问题
在用正则表达式匹配网址信息的时候,经常会匹配到空的列表.这个问题确实很烦,我当初也在这个地方卡了好长时间,所以就打算写一个博客来好好整理一下正则表达式匹配为空的一些状况. 一:选取正则表达式的方式不对 ...
- python爬虫--正则表达式与Cookie的使用
正则表达式与Cookie的使用 正则表达式:描述字符串排列的一套规则 原子 1.普通字符作为原子 2.非打印字符作为原子 3.通用字符作为原子 原子表 []:原子表(正则表达式:[xyz]py;源字符 ...
- Python爬虫——正则表达式基础
介绍 正则表达式是处理字符串的一种很强大的工具,我们可以利用正则表达式自由地处理字符串.作为处理字符串的强大工具,正则表达式在处理爬虫的请求内容方面,有着巨大的作用.下面就从 Python 的五个函数 ...
最新文章
- 面试官问:线程池是如何重复利用空闲的线程来执行任务的?
- LongAdder解析
- Python 速度慢,试试这个方法提高 1000 倍
- Python笔记-BeautifulSoup通过查找Id获取元素信息
- android+场景切换,Android共享元素场景切换动画的实现
- centos环境访问php显示源码,CentOS 6.8 搭建LNAMP环境(五)- PHP7源码安装Redis和Redis拓展...
- 开课吧Java教程之什么是Arrays
- LeetCode344反转字符串
- 如何开启QtCreator的代码自动补全功能
- python判断是否有弹出窗口_使用Python爬取弹出窗口信息的实例
- 液压缸、气缸、电动缸的参数对比
- PTA新浪微博热门话题c++版——山东科技大学
- HDTune硬盘检测工具
- 黑客的成长(学会使用武器)
- 插入U盘后 计算机未响应,电脑插入U盘后没有反应怎么办?
- 网络安全——数据库基础知识
- Simulink电力电子仿真——(一)概述1
- vue 移动端头像裁剪_vue头像上传裁剪组件_一个漂亮的Vue组件,用于图像裁剪和上传...
- Apple Pay入门
- 知识图谱存储与查询:自然语言记忆模块(NLM)