DataScraper从网络上采集的数据存成XML文件,放在$HOME/DataScraperWorks/<主题名>/ 目录下,目录结构参见网络数据采集结果文件目录。下面以主题demo_iframe的采集结果文件为例说明文件结构。
<?xml version="1.0" encoding="UTF-8" ?>
<extraction>
<!-- 块1:元数据 -->
<clueid>16063</clueid>
<fullpath><![CDATA[ http://driver.zol.com.cn/link/12/119510.shtml ]]></fullpath>
<realpath><![CDATA[ http://driver.zol.com.cn/link/12/119510.shtml ]]></realpath>
<theme>demo_iframe</theme>
<middle>default</middle>
<createdate>2010-1-22 20:15:29</createdate>
<!-- 块2:基准URI -->
<baseURI>
<bucketBaseURI>
<bucketName>comments</bucketName>
<uri><![CDATA[ http://comments.zol.com.cn/iframe_comment_new.php?kindid=91&articleid=119510&tw=662&style=110&font_num=170&pagesize=5 ]]></uri>
</bucketBaseURI>
<bucketBaseURI>
<bucketName>test</bucketName>
<uri><![CDATA[ http://comments.zol.com.cn/iframe_comment_new.php?kindid=91&articleid=119510&tw=662&style=110&font_num=170&pagesize=5 ]]></uri>
</bucketBaseURI>
<bucketBaseURI>
<bucketName>normal</bucketName>
<uri><![CDATA[ http://driver.zol.com.cn/link/12/119510.shtml ]]></uri>
</bucketBaseURI>
</baseURI>
<!-- 块3:整理箱内容 -->
<comments>
<item>
<all>comment2009.php?kindid=91&articleid=119510</all>
</item>
<item>
<all>comment2009.php?kindid=91&articleid=119511</all>
</item>
<item>
<all>comment2009.php?kindid=91&articleid=119512</all>
</item>
</comments>
<test>
<item>
<all>comment2009.php?kindid=91&articleid=119510</all>
</item>
</test>
<normal>
<item>
<name>摩托罗拉 手机MPT软件下载</name>
</item>
</normal>
</extraction>
网络数据采集结果文件分成3大块:
- 元数据:存放一些关于该文件的元数据,包括
- clueid:(必选)信息提取线索,这是MetaSeeker内部标记一个超链接指向的网页的方法
- fullpath:(必选)原网页地址,也就是从某个超链接中采集的URL地址,当使用这个地址加载网页时,网站可能将浏览器浏览请求转到另一个地址,在网络数据采集结果文件中,该地址既可能是编码后的地址,也可能是没有编码的。
- realpath:(可选)实际地址:如果发生网页转接,该字段记录实际转接到的地址,而且是编码后的地址
- theme:(必选)主题名。(可选)主题名列表。从版本V4.11.0及其以后,在按照某个主题采集网络数据时,允许inthread线索的主题与当前主题名不同,而且允许这种情况嵌套,从而,从原始线索顺着inthread线索深采集时,切换的主题名形成了一个有序表,这样就存在可选内容,而theme字段填写当前主题(不是原始主题)。在主题名列表中,与当前主题越近的放在越前面。格式是<precedence>theme1</precedence><precedence>theme2</precedence>。请看详细举例说明增强AJAX网络数据采集能力
- middle:(必选)辅名
- createdate:(可选)文件产生时间
- 基准URI:如果从网页上采集URL地址存放在整理箱中,而且此整理箱的内容从某个iframe/frame中采集得到,那么需要记录该iframe/frame的URL作为基准URI,这样,如果采集到的URL是不完整的URL,例如,只有网页名而没有路径名,那么可以使用该基准URI将完整的URL计算出来。例如,上例,有三个整理箱,其中comments和test都从某个iframe/frame中采集网络数据,而整理箱normal从原始页面上采集数据,所以,normal的基准URI跟fullpath字段相同。在本块中,每个bucketBaseURI子块对应一个整理箱,包含下述内容
- bucketName:整理箱名
- uri:该整理箱的基准URI
- 整理箱内容:如果信息结构中有多个整理箱,那么这些整理箱并列排放,上例有3个整理箱,都使用整理箱名作为子块XML标签,如果某个整理箱有多个实例,每个实例都用<item>标签括起来,例如,上例comments整理箱有三个实例。