首先你要找特征,这是写正则前必须做的。
一般要匹配HTML中的东西,往往这个HTML的来源是抓取别人的网站,那么你要分析对方网站会变动些什么,比如form是否是唯一的,会不会增加另外一个form,DIV的ID是否会变,DIV的层级是否会变,那些是不会变的,比如div的class名称,或者某些关键字。这是找范围特征。
其次是找链接本身的特征,你要找的链接是否都是超链接,也就是标签
然后更具特征去写正则。
处理方式:
首先获取范围的全部的HTML
其次再匹配其中的链接
我也不知道你用的什么语言,这里我就用我熟悉的PHP给你写下吧.
if (preg_match_all("/\<\bdiv\b[^>]*id\s*=\"1\"[^>]*\>(?
$html = $matches['content'];
if (preg_match_all("/http\:\/\/[^<>\"]*?\.html/i", $html, $links) {
print_r($links);
}
}
如果不是最里层的div的话,事实上是没有办法提取里面内容的。即便你以
......
...................