使用正则表达式提取网页有效信息

时间:2014-05-26 19:12:12   收藏:0   阅读:288

从HTML页面提取内容所面临的主要问题是,我们必须寻找一种方法精确地识别出自己想要的那一部分内容。

以下是利用正则表达式匹配并提取网页中特定信息的方法:

采集网页中所有链接标记:

<a[^>]*?>[\s\S]*?</a>

以上可以修改a标记采集对应的标记元素。

采集图片:

<img[^>]*?/?>

以上可以修改img标记采集对应的标记元素。

<div[^>]*?id="idname"[^>]*?>[\s\S]*?</div>

根据 id与 class 取div段的内容,请以最小单位取div,因为嵌套关系会破坏,取出来的标记不匹配。

如果要匹配的话请使用下面的正则表式:

<(?<HtmlTag>div)[^>]*\sid=(?<Quote>["‘]?)idname(?(Quote)\k<Quote>)["‘]?[^>]*>((?<Nested><\k<HtmlTag>[^>]*>)|</\k<HtmlTag>>(?<-Nested>)|[\s\S]*?)*</\k<HtmlTag>>

对采集出来的html片段中链接地址去除:

<a(.[^>]*?)href(.[^>]*?)> 提取来替换成空。

再把</a>替换成空。

使用正则表达式提取网页有效信息,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!