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

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


1、\w\d式

\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"来匹配;

2、\S式

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

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

3、[xxxx]式

有时候我们本想只获取网页中的所有文章链接,比如"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"解决。

你可能感兴趣的:(网页数据提取常用正则总结)