工具:信息结构描述工具MetaStudio
MetaStudio提供了各种整理箱,将HTML页面上的内容“容器”映射过来,同样将容器内部的内容也做相应的映射。当前MetaStudio版本提供了ListBucket整理箱,刚好适合提取论坛信息。在整理箱中,存放一组语义相关的信息项称作信息属性,在信息提取(页面抓取/抽取)结果文件中,整理箱映射成Bean。例如,上节提到的content brief, content, title, book page作为信息属性组合到名字是PostDetail的Bean中。一个信息结构中可以有多个整理箱,即多个Bean,分别包含不同的语义信息组合。
接下来就需要告诉MetaStudio,每个属性从HTML页面上哪个元素映射过来,MetaStudio提供的DOM分析器和反向选择功能将有效地帮助您完成这项工作,参见MetaStudio用户手册和MetaStudio高级用户手册获得详细的使用方法。
论坛这类页面,在一个帖子后面会有几十个甚至几百个跟帖,MetaStudio需要找出重复出现的规律,只需要您在MetaStudio上映射第一个和第二个帖子的信息属性,剩下的工作交给MetaStudio,它会自动计算出重复规律,参见MetaStudio用户手册#定义信息提取(页面抓取/抽取)规则。
像普通网络爬虫一样,MetaSeeker在当前页面上还要提取导航到其他页面的线索,但是一个页面上并不是所有线索导航到的页面是您感兴趣的,同样,您可以告诉MetaStudio哪些线索是感兴趣的、兴趣方面是什么(MetaSeeker将相同语义的页面信息归为一类,用主题标识),您也可以告诉MetaStudio哪些线索在当前的信息提取(页面抓取/抽取)线程中使用(即线程内线索)、哪些在单独的信息提取线程中使用(即新线索)。
总之,MetaSeeker让您精准地提取数据和线索,而不是在Web信息海洋中大海捞针。
创建整理箱,并创建在准备工作一节确定下来的信息属性,按照MetaStudio用户手册讲解的方法进行信息映射,例如,第一个样例复制品的映射关系如下:
下图是第二个样例复制品的映射关系。
除了在数据提取规则阶段定义的信息线索外,再创建一个记号线索,并将具有“>>”标记的DOM节点作为标记进行映射,最后,将信息结构文件和信息提取(页面抓取/抽取)指令文件分别提交到MetaCamp和DataStore服务器上保存。