使用正则表达式提取网页有效信息
从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>替换成空。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。