网页抓取/数据抽取/信息提取工具包MetaSeeker为什么没有使用正则表达式提取内容?

我准备做一个简单的抓取工具在某个网站上抽取一些数据,一定要用正则表达式吗?正则表达式挺难写的

网页内容抽取方法很多

网页内容抽取方法很多,正则表达式是一种重要的方法,因为HTML页面就是一个文本文档,自然会想到正则表达式,因为正则表达式是专门处理文本的,但是,正则表达式很难控制,词法和语法很特别,我才可能是与perl是表亲戚的原因。

实际上,正则表达式不是唯一方法,HTML文档在浏览器展现时都需要转换成DOM结构,而针对DOM结构,XPath语言就像SQL用于查询数据库一样也是一个查询语言,相对于正则表达是来说,更容易控制,毕竟是在更高的数据结构层进行操作,如果再结合XSLT,直接可以将HTML DOM结构中的指定内容转储到XML文档中,完成内容抽取过程。

另外,使用正则表达式方法需要解决好几个比较麻烦的问题,在此举两个例子:1,网络上大部分HTML文档是有错的,不符合HTML标准,如果设计匹配规则时假设目标文档是合规的,可能会处理不了有错的文档,而一般的DOM引擎都有HTML解析纠错特性,使用DOM方法可以不必关心这个问题;2,有些网页内容是用Javascript动态维护的,使用正则表达式方式无法看到这些内容,而且,无论是否动态,要显示出来那么一定要在DOM中存在,所以,基于DOM的方式可以透明处理javascript动态页面。

网页抓取/数据抽取/信息提取工具包MetaSeeker就是采用了DOM+XPath+XSLT方式,信息提取精度很高,容错能力很强,而且XPath和XSLT能够自动生成,大大减轻了用户的负担。对于高级用户,还能够将手工写的XPath表达式和XSLT片段嵌入到自动生成的规则里面,十分灵活

网页抓取/数据抽取/信息提取工具包MetaSeeker是一个通用的网络爬虫/网页抓取工具,使用很方便,建议楼主不要花时间重复开发简单的抓取工具了,使用MetaSeeker工具包即可,节约下来的时间可以投入网站的运营和商业经营上。