网页数据提取常用正则总结

如题所述

第1个回答  2022-06-16
当抓取某个网并分析网页数据时,经常会使用正则匹配网页源码中的相关数据(一般是链接),下面就说一下常用的几个正则。

\w:匹配字母或数字或下划线或汉字

\d:匹配数字

常见的网址或图片链接大部分都是这种格式,

比如:"http://www.jianshu.com/p/b9db8f395ea1",   就可以通过正则"http://www.jianshu.com/p/\w+"来匹配(其中'+'代表可以有多个字符);

还有比较复杂点的"http://news.mtime.com/2017/09/25/1573897.html",可以用"http://news.mtime.com/\d+/\d+/\d+/\d+.html"来匹配;

\S:匹配所有非空白字符

比如:"http://news.mtime.com/45515/asdasd-dsds-dsdsd.html"; 可以用"http://news.mtime.com/\d+/\S+.html"来匹配;

有时候我们本想只获取网页中的所有文章链接,比如"http://news.mtime.com/45515/asdasd-dsds-dsdsd"式的;

我们可以通过上文中的"\S+"可以解决,即"http://news.mtime.com/\d+/\S+";

那么问题来了,这个正则不仅会匹配网页中的文章链接,可能还会匹配我们不想要的链接,

比如像这种js链接"http://news.mtime.com/322323/asdasd/sdsds.js"也会匹配到。

所以我们需要将匹配范围缩小,即只匹配字母和横线,那么这个网址可以用"http://news.mtime.com/\d+/[\w-]+.html"解决。

网页数据提取常用正则总结
常见的网址或图片链接大部分都是这种格式,比如:"http:\/\/www.jianshu.com\/p\/b9db8f395ea1",   就可以通过正则"http:\/\/www.jianshu.com\/p\/\\w+"来匹配(其中'+'代表可以有多个字符);还有比较复杂点的"http:\/\/news.mtime.com\/2017\/09\/25\/1573897.html",可以用"http:\/\/news.mtime...

20个常用的正则表达式
4、文本挖掘:在文本挖掘领域,正则表达式可以用来提取文本中的特定模式。例如,从新闻报道中提取出事件的时间、地点、人物等信息。5、自动化脚本:在自动化脚本中,正则表达式可以用来解析和处理文本数据。例如,在网页爬虫中,可以通过正则表达式提取出网页中的特定信息。6、搜索引擎:搜索引擎需要处理海量的...

11《Python 原生爬虫教程》使用正则表达式进行页面提取
正则表达式是对字符串操作的逻辑公式。提取网页数据时,需将源代码转换成字符串,然后通过正则表达式匹配想要的数据。在我们开始使用正则表达式进行模式查找之前,需要熟悉正则表达式里面的字符的基本含义,这样就能方便地书写正则表达式进行模式匹配。2. 正则表达式基本语法正则表达式的字符和含义 3. 正则表达式的...

2W字正则表达式基础知识总结,这一篇就够了!!(含前端常用案例,建议收藏...
IPv4地址: \/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.{3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$\/ 十六进制颜色: \/^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$\/ 日期格式: \/^(?!0000)[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9...

Python爬虫教程-19-数据提取-正则表达式(re)
最后,通过`match`对象的方法对结果进行操作,可以获取、替换、提取匹配信息等。这一步是真正利用正则表达式进行数据提取的核心。正则表达式常用方法包括但不限于:匹配中文 在处理中文文本时,正则表达式需要使用到特定的字符集。比如,`[u4e00-u9fa5]`表示从Unicode编码的中文字符集中选取。贪婪与非贪婪...

使用正则表达式从网页上提取网址
你没有说是用PHP还是JavaScript还是ASP还是JSP,你应该先说明那种语言。PHP 的 <?php preg_match('\/href="([^"]+)"\/',$html,$out);print_r($out[1]);?> 试试这个正则:\/href="([^"]+)"\/

正则表达式提取数字
提取这个数字比较简单。看这个网址,组成规律是http:\/\/rate.taobao.com\/user-rate-加上店主名字的md5?懒省事了,前面就写死了。后面的ma.group(1) 是店主的网址 ma.group(2)是店主名字的md5码?ma.group(3)是店主的点击?信誉度?反正就是哪个165了。String regex="]*?).htm)\\">([^<]*?

R-数据处理 | 正则表达式
以HTML网页为例,理论上可以通过XPath提取关键数据,但某些关键信息可能隐藏在网页深层或分布于各部分,使网页结构分析方法失效。此时,正则表达式成为分析文本中规律的强大工具。正则表达式是一种描述字符串集合的模式,分为扩展基本正则表达式和Perl正则表达式两种类型。R语言中主要使用的是扩展基本正则表达式。...

如何用Python提取网页标签中的文本信息?
一、使用内置的正则表达式 Python代码 import reregex1 = r"]+?>(.+?)"regex2 = r"\/span>([\\s\\S]+?)<"html = ("\\n""1、 以下哪条不是VRRP双主可能的原因\\n""")result_a = re.search(regex1, html).group(1)result_span = re.search(regex2, html).group(1)print(result_a...

如何提取网页中的文字?
较简单的提取网页文字的方法就是使用Ctrl+A快捷键。将鼠标光标放置在要提取的网页上,按下Ctrl+A,在屏幕上出现的所有文字都会被选中。然后按下Ctrl+C进行拷贝,就可以将所有文字粘贴到需要的地方了。2. 使用网页提取工具 有一些网页提取工具可以帮助我们提取网页内容,其中比较常用的是Evernote Clearly和...

相似回答
大家正在搜