爬虫日记之07正则表达式

2022-3-6

正则表达式

  • Regular Expression,正则表达式,一种使用表达式的方式对字符串进行匹配的语法规则

  • 我们可以把抓取到的网页源代码看成一个超长的字符串,通过正则来从这个超长的字符串提取内容。

  • 由于正则对于新手来说难度有点高,可以借助一些开源的在线工具。在线正则表达式测试

常见的元字符

.   匹配除换行符以外的任意字符
\w  匹配字母或数字或下划线
\s  匹配任意的空白符
\d  匹配数字
\n  匹配一个换行符
\t  匹配一个制表符^   匹配字符串的开始
$   匹配字符串的结尾\W  匹配非字母或数字或下划线
\D  匹配非数字
\S  匹配非空白符
a|b 匹配字符a或字符b
()  匹配括号内的表达式,也表示一个组
[...] 匹配字符组中的字符
[^...] 匹配除了字符组中字符的所有字符

量词

*   重复零次或更多次
+   重复一次或更多次
?  重复零次或一次
{n} 重复n次
{n,}  重复n次或更多次
{n,m} 重复n到m次

贪婪匹配和惰性匹配

.*   贪婪匹配
.*?  惰性匹配

注意此处谈贪婪匹配和惰性匹配的区别。

上图为贪婪匹配的匹配结果

上图为惰性匹配的匹配结果,匹配结果只会出现最后

写在后面:

我们一共主要介绍一下三种解析方式:

  1. re解析(运行速度最快)
  2. bs4解析(最简单,但是执行效率不高)
  3. xpath解析

以后会继续分享bs4和xpath的方法!欢迎监督~

爬虫日记之07正则表达式(手把手教你区分贪婪匹配和惰性匹配)相关推荐

  1. python抓取内存中的网页_『爬虫四步走』手把手教你使用Python抓取并存储网页数据!...

    爬虫是Python的一个重要的应用,使用Python爬虫我们可以轻松的从互联网中抓取我们想要的数据,本文将基于爬取B站视频热搜榜单数据并存储为例,详细介绍Python爬虫的基本流程.如果你还在入门爬虫 ...

  2. 正则表达式 —— 一种模式描述语言(贪婪匹配与惰性匹配)

    制表符(\t).空格.换行(\n)等,均可视为一种空白符, 则一个或多个空白符的 regex 即是:\s+ 1. 通配符 ?:与任意一个实际字符匹配, *:可以去任意一串字符(可以为空)匹配 例如: ...

  3. python爬虫爬取房源_手把手教你用Python网络爬虫爬取新房数据

    项目背景 大家好,我是J哥. 新房数据,对于房地产置业者来说是买房的重要参考依据,对于房地产开发商来说,也是分析竞争对手项目的绝佳途径,对于房地产代理来说,是踩盘前的重要准备. 今天J哥以「惠民之家」 ...

  4. python网络爬虫网易云音乐_手把手教你写网络爬虫(1):网易云音乐歌单

    大家好,<手把手教你写网络爬虫>连载开始了!在笔者的职业生涯中,几乎没有发现像网络爬虫这样的编程实践,可以同时吸引程序员和门外汉的注意.本文由浅入深的把爬虫技术和盘托出,为初学者提供一种轻 ...

  5. 计算机主机背影便接口,装机日记二 背影哥手把手教你攒电脑

    1背影哥手把手教你攒电脑 [天极网DIY硬件频道]上回我们说到了要为乡下的弟弟,组装一台价格在3300元左右的台式机.配置我已经选好,也向大家做了详细的介绍.不过老弟是个DIY外行对装电脑的事情即不懂 ...

  6. python 正则表达式 re (.*?)和(.*)的区别(贪婪模式非贪婪模式)惰性匹配

    贪婪模式 .* 非贪婪模式 .*? 1. .匹配任意除换行符"\n"外的字符: 2. *表示匹配前一个字符0次或无限次: 3. +或*后跟?表示非贪婪匹配,即尽可能少的匹配,如*? ...

  7. 以下用于数据存储领域的python第三方库是-『爬虫四步走』手把手教你使用Python抓取并存储网页数据!...

    第一步:尝试请求 首先进入b站首页,点击排行榜并复制链接 https://www.bilibili.com/ranking?spm_id_from=333.851.b_7072696d61727950 ...

  8. 『爬虫四步走』手把手教你使用Python抓取并存储网页数据!

    爬虫是Python的一个重要的应用,使用Python爬虫我们可以轻松的从互联网中抓取我们想要的数据,本文将基于爬取B站视频热搜榜单数据并存储为例,详细介绍Python爬虫的基本流程.如果你还在入门爬虫 ...

  9. java使用xml存储数据_『爬虫四步走』手把手教你使用Python抓取并存储网页数据!

    菜鸟学Python 以下文章来源于早起Python ,作者刘早起 爬虫是Python的一个重要的应用,使用Python爬虫我们可以轻松的从互联网中抓取我们想要的数据,本文将基于爬取B站视频热搜榜单数据 ...

最新文章

  1. Google Test(GTest)使用方法和源码解析——私有属性代码测试技术分析
  2. 去除JSP页面中JSTL、EL生成的空行
  3. numpy中求解范数(numpy.linalg.norm)以及各阶范数详解
  4. 【LeetCode】【HOT】160. 相交链表
  5. redis缓存跟数据库数据不一致问题解决
  6. 大数据分析常见的几种方法
  7. C++ 迭代器是指针吗
  8. 190330每日一句
  9. 初级软考-程序员 复习笔记
  10. 【办公自动化】基于Arcpy建立GIS三调转换工具箱,23万图斑shp文件分分钟转换完成
  11. 2018年Linux发行版颜值排行榜发布啦!
  12. Java swing组件介绍
  13. 9.1 交易数据的存储
  14. DNT精英论坛(暨.NET北京俱乐部)第2期:.NET依赖注入在区块链项目AElf中的实践
  15. 「话题」为什么微信、钉钉撤回消息的时限不同?小米200万改LOGO值不值?
  16. 场景实践:使用函数计算打包下载OSS文件
  17. 量子能--下一代能源革命
  18. SpringMVC-自定义类型转换器
  19. Linux操作系统第一讲
  20. mysql 编程算法_十大编程算法助程序员走上高手之路

热门文章

  1. 如何下载安装和使用 Office 2016的中文语言包?
  2. Brave浏览器 1.0正式面世, 为用户提供无与伦比的隐私保护和奖励
  3. python的os删除文件或者文件夹
  4. 2022年全国最新消防设施操作员(初级消防设施操作员)考试模拟题库及答案
  5. static定义静态方法
  6. Keras预测股票走势
  7. 有关计算机的英语作文一千字,英语作文一封信大学1000词5篇
  8. python之正则表达式(基础篇)
  9. js数据过滤算法搭建
  10. 对数据集“Netflix电影电视剧及用户观影数据“的分析处理和可视化