为聚焦网络爬虫提供线索

聚焦网络爬虫也叫定题网络爬虫,同综合搜索引擎使用的网络爬虫不同,没有将网页上的所有超链接提取下来作为爬虫线索,而是仅提取与主题有关的线索,信息提取软件工具包MetaSeeker中的爬虫就是聚焦网络爬虫,另外,信息提取软件爬行网络的目的是从互联网(Web)上提取结构化的数据内容,所以,不能光提取爬虫线索,还要告知信息提取软件怎样提取新线索指向的网页上的结构化数据。总结一下,信息提取软件工具必须指导聚焦网络爬虫怎样提取网页上的超链接并怎样从超链接指向的新页面上提取数据。

举个例子,假设使用信息提取和聚焦网络爬虫软件工具MetaSeeker提取某论坛网站上的帖子,首先,进入论坛帖子列表页面,使用MetaStudio为帖子列表页面定义数据内容提取规则超链接提取规则,后者提取帖子列表中的指向每个帖子页面的超链接,然后将提取规则交给DataScraper,它的聚焦网络爬虫除了将论坛帖子列表页面的数据提取下来外,还提取到大量的指向帖子具体内容的网页的超链接,这些网页属于另一个主题,即,提取帖子详细内容的主题,至此,该主题的信息结构还没有定义,只有定义了信息结构,聚焦网络爬虫顺着这些超链接爬行到帖子具体内容网页时才知道怎样提取数据。可见,操作员必须帮助聚焦网络爬虫布设爬行线索。

MetaStudio软件提供了一个便利工具,便于聚焦网络爬虫的线索布设。

承接上例,当DataScraper的聚焦网络爬虫提取到的线索(例如,指向帖子具体内容页面的线索)的信息结构还未定义时,MetaSeeker系统将这些线索的主题状态设置成torecognize,MetaStudio用户只要对这个主题进行识别,MetaStudio会从这些超链接中选择一个,加载指向的网页作为样本页面,用户就可为该主题定义信息结构和信息提取规则。主题识别操作在Theme List工作台上发起。首先要浏览工作台上的主题列表,找到状态是torecognize的主题。

Theme List工作台上,浏览主题的方法有两种:

  • 使用主题列表上的右键鼠标菜单浏览,可以将MetaSeeker系统的服务器上的所有主题罗列出来;
  • 在主题列表的下侧右边有个编辑框,输入主题名,回车罗列符合查询条件的主题,输入的文字支持通配符"*",例如,"Com*","*"等。

主题列表的Host列展示当前注册用户是否在当前连线的MetaSeeker系统服务器上存有某个主题对应的信息提取规则文件,如果是,则显示一个绿色图标和字母Y,如果不是,则显示红色图标和字母N,如果不确定,则显示红色图标和字母U。

status列有下面三种状态:

  • ready:表示给本主题至少定义了一个信息结构。
  • torecognize:表示还没有为本主题定义信息结构,但是DataScraper的聚焦网络爬虫已经提取到本主题的线索,需要执行识别操作定义信息结构。
  • reserved:表示用户在定义信息结构时已经使用该名字命名新线索的主题,但是还没有使用DataScraper聚焦网络爬虫提取到属于这个主题的线索,一旦提取到,状态将转变成torecognize

除了浏览,还有两个右键弹出菜单项:

  • 信息:弹出一个对话框,显示被选主题的详细信息,例如主题名和辅名、作者、指令文件驻留服务器、指令文件最后修改人和时间等等,详细解释参见MetaStudio高级用户手册#主题列表及其操作
  • 识别:使用DataScraper聚焦网络爬虫爬行网络和提取信息时,根据SCE指令文件提取新的线索,如果SCE指令文件中为该线索指定一个新的主题名,当DataScraper为这个线索创建SpiderClue记录时,会同时在MetaSeeker系统服务器上申请一个新的主题。此时,这个主题处于torecognize状态。选择本菜单,MetaStudio将加载这个主题下的一个样本HTML页面,用户可以为其定义信息结构,执行完上一章讲解的操作并上载信息结构文件和指令文件后,该主题的状态将修改成ready