【问题标题】:How to customize StormCrawler?如何自定义 StormCrawler?
【发布时间】:2020-08-01 09:53:00
【问题描述】:

虽然我使用 Apache Storm 已经有一段时间了,但我对 StormCrawler 还是很陌生。

我从 StormCrawler+ES 原型开始了一个项目。但是,要自定义 StormCrawler,应该在什么特定点添加额外的螺栓?

戴夫。

【问题讨论】:

  • 嗨,戴夫,这取决于您需要做什么,哪些没有完成。您不必添加新螺栓,默认设置的螺栓可能就足够了。能具体一点吗?
  • 你好朱利安。感谢您的回复!我想使用网络抓取来识别图像,并进一步处理这些图像。当网络服务器提供响应时,我想确定响应是否是/包含图像,如果是,则提取有关该图像的信息并将其存储在 ElasticSearch 中。这个用例可能最好被描述为一项服务,它允许人们将他们的图像上传到我的服务器,并且该服务会检查该图像是否已在其他地方使用。例如,因为保护版权。

标签: web-crawler apache-storm stormcrawler


【解决方案1】:

一种方法是编写一个自定义螺栓并将其添加到提取器和解析器之间。它应该查看 http 响应中给出的任何 mimetype 的元数据(记住用于存储 info from the protocol 的前缀),可能会像在 JSOUPParser 中所做的那样检测 mimetype。如果它是图像,则对其进行特定处理,然后发送到输出。如果不是,则发送到自定义流;后者将连接到 JSOUP 解析器,以便您获得外链;前者进入ES。

您可以在不同的地方找到处理非默认流的示例,尤其是Tika module

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-15
    • 1970-01-01
    • 1970-01-01
    • 2012-03-02
    • 1970-01-01
    • 2018-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多