集搜客GooSeeker网络爬虫除了能把网页上的内容转换成结构化的表格以外,还能将整个html文档或者html中某个标签下的片段采集下来,放在XML格式的结果文件中。定义这样的规则相当简单。但是,在V9.0.5版本之前,有一个bug,当采集复杂网页html的时候,有时会生成不了结果文件。 V9.0.5版本解决了这个bug,在结果文件中,html文档片段存入一个CDATA中,会对原网页上的CDATA进行转义,防止冲突造成无法生成结果文件,所以,使用采集结果的时候,要根据需要做反转义。 下面,我们将详细讲解操作方法。 1. 定义爬虫规则,采集网页片段 如下图,假定定义了一个整理箱,里面创建了一个抓取内容,名字是html,用这个抓取内容存储采集下来的html片段。这个例子中,我们将把整个html存到抓取内容中。定义规则的步骤主要有: 第一步,做内容映射,把DOM窗口上的编号是0的节点映射给抓取内容html 第二步,做高级设置,勾选“网页片段” 至此,规则定义好了,存规则,就能抓取数据了。 2. 观察采集结果文件 采集结果文件是一个XML文件,存于DataScraperWorks文件夹,详细说明参看《查看数据结果》。下面的截图是采集结果文件的一个片段,可以看到抓取内容html是一个xml标签,下面存了完整的html文档。但是这个截图是Firefox解析出来的样子,要看源代码,应该用编辑器打开,请注意对比下面两个图,底下那个图显示源代码,可以看到html是存于一个CDATA中的。 3. 网页片段中的转义符 如果html文档中含有CDATA,那么就有开始标签和结束标签形成一对,分别是 <![CDATA[ 和 ]]> 两个标签。为了不让网页上的CDATA与结果文件中的CDATA冲突,就把网页上的CDATA标签转义了。对应关系如下:
当使用采集结果的时候,需要通过字符串替换,进行反转义。 |