【问题标题】:Apache Beam: How to extract data from an HTML URL?Apache Beam:如何从 HTML URL 中提取数据?
【发布时间】:2020-03-04 14:35:32
【问题描述】:

我愿意使用 Apache Beam 从 URL 而不是文件获取数据输入。我找不到一些内置的方法。有什么办法吗?

【问题讨论】:

  • 你能提供更多关于我从 URL 发送的数据类型的信息吗?
  • @AMargheriti 感谢您的评论。例如这个 URL (olx.com.pk/item/…),我希望我可以抓取数据并获取它的 HTML。后来我使用转换器来解析 HTML。

标签: html python-3.x apache-beam


【解决方案1】:

没有用于获取网站 HTML 内容的内置源 PTransform。也就是说,您可以编写自己的 DoFn (https://beam.apache.org/documentation/programming-guide/#requirements-for-writing-user-code-for-beam-transforms)。

您的管道将如下所示:

with beam.Pipeline() as p:
    result = (p
       | "Create input data" >> beam.Create([list_of_urls_to_fetch])
       | "Fetch HTML Content" >> beam.Map(CustomDoFn)

CustomDoFn 接收 URL 列表作为输入,并使用您选择的库获取其 HTML 内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-08
    • 1970-01-01
    • 2018-06-07
    • 2020-09-30
    • 2020-05-16
    • 1970-01-01
    相关资源
    最近更新 更多