信息提取线索

信息提取线索或者简称线索,网页抓取/数据抽取/信息提取软件工具包MetaSeeker中的定题爬虫顺着这些线索可以抓取新的页面内容。线索一般就是目标页面的URL,DataScraper利用该URL将目标页面加载到内嵌的浏览器上,从中抽取数据和新的线索,利用新的线索提取更多数据和线索,循环往复,直到所有的线索都已经爬行过了或者达到了用户给定的数量。

初始线索是某个主题下的爬行任务的入口,这种线索也叫种子线索,是由MetaStudio针对样本页面描述其信息结构时生成的,参见使用情景2:汇聚商品列表信息

从DataScraper使用线索的角度来看分成两类:

  • 线内线索(in-thread clue):表示在同一个网页抓取和数据抽取会话中从当前页面导航到另一个页面时使用的线索,一般用于翻页抽取,此时导航到另一个页面时没有从DataStore服务器上获取新的SpiderClue记录,例如,论坛中一个帖子有很多跟帖,分成多个页面显示,用户当前正在浏览第一页,如果用户想浏览第二页,可能需要点击“下一页”(也可能是别的名称),“下一页”隐含的线索就是一个线内线索,这个线索是DataScraper从第一个页面上抽取下来的,没有将该线索存储到DataStore服务器上,而是在紧接下来的网页抓取/数据抽取循环中直接使用它;
  • 新线索(new clue),每个新线索都对应一个DataStore服务器上的SpiderClue记录,每启动一个新的网页抓取和数据抽取会话,DataScraper都要从DataStore服务器上获取一个处于start状态的SpiderClue记录。

从线索提取方法角度来看分成五类:

  • 信息线索(Info Clue):在数据抽取阶段提取到的线索。
  • 独立线索(Single Clue):在HTML页面的某个确定位置上提取一个线索,所以页面结构改动对其冲击很大。
  • 记号线索(Marker Clue):在HTML页面的某个范围内根据特定的记号提取线索,这个记号就是HTML页面中A元素包容的文本信息。例如,如果根据“下一页”导航到下一个页面,那么可以将“下一页”当作记号,从包容它的A元素的href特性中提取线索信息。
  • 特征线索(Pattern Clue):在HTML页面的某个范围内根据目标URL的特征提取线索。例如,在页面的某个范围内将URL含有“http://www.gooseeker.com”字符串的线索提取下来。
  • 相对线索(Relative Clue):在HTML页面的某个范围内先确定一个参照位置(一个HTML DOM节点),在紧跟的同类弟弟节点上提取到的线索就是相对线索。例如,根据分页信息[1][2][3]可以导航到不同页,假设当前正在浏览[2]页,将[2]作为参照,就可以在[3]上抽取相对线索。相比记号线索,受HTML页面结构改动冲击大一点。