问:如果我使用语义结构描述工具MetaStudio定义了两个信息结构A和B,A和B是相关的,也就是说在定义A的Clue Editor工作台上,定义了一个线索,用于提取符合信息结构B的网页地址(URL),例如,A是用于抓取某论坛的帖子列表,抓取帖子列表时将帖子详细内容页面的URL提取出来,而帖子详细内容页面的信息结构用B描述。按照我的理解,网页内容抓取软件DataScraper一开始先加载论坛帖子列表页面,根据信息结构A抓取帖子列表,每抓取一条帖子记录时,将帖子详细内容页面URL提取下来,马上打开帖子详细内容页面,使用信息结构B抓取帖子的详细内容,完成后再返回到信息结构A对应的页面,处理下一条记录,DataScraper是不是这样工作的?
答:网页抓取/数据抽取软件工具包MetaSeeker中的网络爬虫是定题爬虫或者聚焦爬虫,该网络爬虫在DataScraper软件工具中实现,执行信息提取任务时是一个主题一个主题做的,不会跨主题。也就是说,每发起一次信息提取任务,只抓取本主题的网页内容,例如,只提取A的,而不会提取B的,要等到A的执行完后,也可能要翻很多页,才可以发起提取B的网页内容,当然,可以另外运行一个DataScraper实例,同时提取B的网页内容。
举例来说,假设信息结构A是用于提取论坛列表的,主要是提取论坛帖子详细内容网页的URL对应的线索,也就是为B提取线索,一般一个论坛网站上有很多帖子,论坛列表是分页的,此时,在定义A信息结构时,需要在Clue Editor上定义一个inthread线索用于翻页。而在Bucket Editor工作台上定义帖子列表提取规则,定义一个信息属性用于提取和存储B页面的URL,这个信息属性具有clue特性,此时会在Clue Editor工作台上由MetaStudio自动生成一条线索记录,类型是Info,给它命名主题B。这样A的信息结构定义好了。接下来使用DataScraper抓取A的网页内容,会提取并存储很多属于主题B的线索,如果主题B的信息结构也定义好了,就可以使用DataScraper抓取B的网页内容了。可见,主题A和B的网页内容抓取是两个不同的操作。