Storm 对同一拓扑中的每个域应用不同的解析过滤器

doinxwow  于 2022-12-09  发布在  Apache
关注(0)|答案(1)|浏览(164)

我正在尝试抓取不同的网站(电子商务网站),并从每个网站的页面中提取特定信息(即产品价格、数量、发布日期等)。我的问题是:如何配置解析,因为每个网站都有不同的HTML布局,这意味着我需要不同的Xpath为同一个项目取决于网站?我们可以添加多个解析器螺栓在拓扑中为每个网站?如果可以,我们如何分配不同的parsefilters.json文件到每个解析器螺栓?

b4lqfgs4

b4lqfgs41#

您需要#586。目前没有办法做到这一点,只能将所有的XPATH表达式放在parsefilters.json中,而不管您想在哪个站点上使用它们。
您不能将不同的parsefilters.json分配给螺栓的不同示例。

UPDATE不过,您可以在parseFilters.json中拥有多个XpathFilters区段。每个区段都可以涵盖特定的来源,不过,目前无法限制剖析筛选器套用至哪个来源。您可以扩充XPathFilter,让它需要一些额外的设定,例如URL必须符合的正则表达式,才能套用。我认为这会相当好用。

我最近添加了JsoupFilters,它将在下一个版本中出现。这些应该对你的用例有用,但是仍然不能解决你需要一个过滤器的实现来组织每个主机的资源的问题。以URL过滤器为例,它应该不难实现,并且也会对项目做出很好的贡献。

相关问题