无论采用什么技术编写网页代码,加载到浏览器上时都变成了文档格式
优采云 发布时间: 2021-08-19 22:15无论采用什么技术编写网页代码,加载到浏览器上时都变成了文档格式
无论使用什么技术编写网页代码,在浏览器加载时,它都会变成HTML文档格式。在 HTML 文档中,文本内容收录在各种 HTML 标签中。网页文字内容采集器MetaSeeker 可以参考HTML标签或参考图标内容,根据字段采集准确存储内容并存储在排序框(专有名词,形象地代表了@结构化存储的容器)采集内容)中。与精确的采集相反,采集“内容片段”是指跨多个HTML标签的采集这个片段中的文本内容。这种工作方式的一个极端例子是使用普通的网络爬虫构建基于全文索引的搜索引擎,抓取整个网页采集的文本内容。
既然MetaSeeker有准确定位采集的能力,那么采集text内容片段有必要吗?如果答案是肯定的,那么还有一个问题:采集如何确定网页内容片段的粒度?事实上,这些问题都没有明确的答案。当MetaSeeker用于商业用途时,用户一般会从运维成本的角度来衡量和回答上述问题。
一般来说,网页内容采集的准确性要求越高,采集规则越复杂,目标页面结构变化的影响就越大,尽管MetaSeeker使用了包括FreeFormat技术在内的许多专利技术来尝试提高采集规则的适应性,但是目标网页结构的变化超出了网页内容采集器的控制范围。即使MetaSeeker独有的低成本采集规则修改功能可以帮助用户快速调整采集规则,但频繁的修改或多或少会增加运营成本。此时,你应该权衡一下是否总是需要最精确的采集规则。
个别客户使用 MetaSeeker 的自定义函数来编写 XPath 和 XSLT 规则。比如使用substring-after等函数从一个HTML TEXT节点的字符串中获取子串采集可以认为是极其准确的采集 NS。这个采集 规则受网页结构变化的影响最大。相反,如果将跨越多个HTML标签的内容片段采集放在一个信息属性中,则会降低准确率,提高适应性。
采集网页文字内容不是信息处理过程的最后一站。比如建立舆情监测系统,需要将采集的结果存入数据库,依次进行去噪、去重、分词、索引、分类、统计。等等很多过程。在这个处理链中可以找到很多合适的位置,对采集收到的HTML内容片段进行二次提取和分割。
下面我们将通过一个例子来讲解采集网页文本内容片段的基本方法。自定义 XPath 或 XSLT 规则也属于这一类,将在其他教程中详细说明。
注意:连续加载使用相同示例页面的两个信息结构将失败。观察MetaStudio底部的状态栏,可以看到MetaStudio加载过程已经停止,状态栏没有显示“Done”字样。这是一个 MetaStudio 的 bug,要避免它,或者重新启动 MetaStudio,然后加载相同的信息结构。
1 加载之前定义的信息结构
加载主题名称为demo_DD_list_1的文章“采集当当网百货价”中定义的信息结构经常失败。
ͼ1
图1显示加载状态并分析失败原因:
当网上大部分产品都显示市场价格和当前价格时,第一个被选为样本的产品没有市场价格,只有一个价格范围来加载信息结构,DOM节点应该位于网页根据定位规则。在这种情况下,节点对价格的定位失败。信息结构的加载方法请参考“网页采集规则无效怎么办”。
遇到这种情况,只按照《网页采集规则失败怎么办》一文中介绍的方法修改信息结构是无济于事的,因为当当网展示的产品是不断变化的,以排名第一为例 产品会发生变化。 demo_DD_list_1 定义成功说明当时样品产品正常。另外,在这种情况下,MetaStudio加载信息结构失败并不一定会导致采集进程中DataScraper失败。因此,没有必要采取措施来纠正这个问题。一般来说,只有当你看到DataScraper 才会报告错误日志。行动。 DataScraper 一般会报:找不到合适的数据模式。
2 价格信息采集转化为信息属性
ͼ2
如图2,我们重新定义了采集规则,将主题名称改为demo_DD_list_4,说明如下:
以产品列表中的第一个产品为例,对信息属性产品名称和产品网页进行数据映射和FreeFormat映射。详细说明请参考“采集京东商城产品价”信息属性商品价格仅适用于FreeFormat映射完成该步骤后,可以看到信息属性的区块特征被自动勾选。默认含义是:从带有 FreeFormat 标志 @class='price 的 DIV 节点表示的 HTML 片段中删除所有文本内容 采集。 采集Multi-instance, FreeFormat 映射,详情请参考“采集京东商城产品价”,也可以使用采集多实例复制方式,请参考“采集当当网百货商品价”价”进行精确定位,执行 FreeFormat 映射。详细解释请参考《Accurate采集新蛋网商品价格》
ͼ3
如图3所示,MetaStudio自动设置的块特征是可以修改的。步骤如下:
选择信息属性,双击鼠标左键,弹出信息属性特征编辑窗口。可以看到默认的采集webpage 文本内容片段规则:使用了特定的过滤器,并且只有采集HTML 片段中的文本内容。 采集网页文本内容片段的规则可以手动修改。 XPath过滤器和XSLT过滤器的使用方法请参考“自定义采集Rule特性”
3 如何处理采集results
ͼ4
图 4 是 MetaStudio 上采集 输出的片段,您可以看到:
每个产品的价格信息都放在一个信息属性中。在处理采集结果时,需要根据存储规则对价格进行划分提取。例如,使用 Java 正则表达式可以轻松地将两者结合起来 分隔每个价格或价格范围。