re模块的正则表达式规则
1.使用urllib爬取百度搜索html2.urllib.request.Request对象封装请求3.urllib发送get请求_中文传参问题4.urllib发送post请求获取html源代码5.获取动态页面html6.忽略SSL证书验证7.使用fake-useragent库伪装请求头8.urllib自定义opener对象设置代理IP9.爬虫cookie的使用10.保存与读取cookie11.使用urllib.error进行请求异常处理12.使用requests库发送get和post请求13.使用Request伪装User-Agent和IP地址14.requests设置超时时间/requests.Session自动保存cookie/verify忽略ssl证书
15.re模块的正则表达式规则
16.使用re的正则表达式提取腾讯体育新闻摘要17.BeautifulSoup4解析数据18.bs4.find_all()搜索文档树和css选择器提取解析后的html数据19.bs4解析并提取人民网新闻标题数据20.xpath解析数据21.谷歌浏览器的xpath插件安装22.使用re和lxml的xpath功能提取纵横中文网小说推荐榜前3页标题23.JSON数据24.使用jsonpath快速提取json的数据25.提取猫眼电影正在热映电影以及评分26.单线程与多线程爬虫什么是正则表达式?
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。换句话说,正则表达式是一种用来描述字符串模式的工具。它使用一些特殊的符号和规则来匹配、查找或替换字符串中的特定部分。
python的re模块提供了许多特殊符号来构建正则表达式:详见官网https://docs.python.org/3.12/library/re.html
1. 定位符,指定字符串中特定的位置
字符 | 描述 |
^ | 匹配字符串的开始位置 |
$ | 匹配字符串的结束位置 |
\b | 匹配一个单词边界,即单词与空白字符之间的位置 |
\B | 匹配非单词边界 |
注:不能将限定符与。。。一起使用
2.非打印字符(特殊序列):格式为\character
,如果character
不是ASCII数字或ASCII字母,则生成的re将匹配第二个字符,例如\$
匹配字符$
。
字符 | 描述 |
\f | 匹配一个换页符 |
\n | 匹配一个换行符 |
\r | 匹配一个回车符 |
\s | 匹配任何一个空白字符,包括空格、制表符、换页符等,等价于[\f\n\r\t\v] |
\S | 匹配任何一个非空白字符 |
\t | 匹配一个制表符,等价于\x09和\cI |
\v | 匹配一个垂直制表符,等价于\x0b和\cK |
\cx | |
\w | 匹配字母、数字、下划线,等价于[A-Za-z0-9_] |
3.特殊字符,用于匹配重复的模式、选择模式或组合模式
字符 | 描述 |
. | 匹配除换行符以外的所有字符 |
* | 匹配前面的子表达式零次或多次 |
+ | 匹配前面的子表达式一次或多次 |
? | 匹配前面的子表达式零次或一次 |
{n} | 匹配前面的子表达式恰好n次 |
{n,} | 匹配前面的子表达式至少n次 |
{n,m} | 匹配前面的子表达式至少n次,但不超过m次 |
合集:
python爬虫
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?