代码之家  ›  专栏  ›  技术社区  ›  Alvin

如何使用Perl高效地提取HTML内容?

  •  2
  • Alvin  · 技术社区  · 16 年前

    我正在用Perl编写一个爬虫程序,它必须提取驻留在同一服务器上的网页的内容。我目前正在使用 HTML::Extract 模块来做这项工作,但我发现模块有点慢,所以我查看了它的源代码,发现它没有使用任何连接缓存来进行缓存 LWP::UserAgent

    我最后的办法是抓住 HTML::Extract 的源代码,并将其修改为使用缓存,但如果可以的话,我真的希望避免这种情况。有人知道其他模块能更好地完成同样的工作吗?我基本上只需要抓取文本中的所有文本 <body> 元素,并移除HTML标记。

    4 回复  |  直到 16 年前
        2
  •  1
  •   hobbs    16 年前

    HTML::Extract 非常 基本的和无趣的。如果Draefun提到的模块对你不感兴趣,你可以做任何事情 使用 LWP::UserAgent HTML::TreeBuilder

        3
  •  0
  •   singingfish    16 年前

    我一直在用 Web::Scraper 为了我刮擦的需要。它确实非常适合提取数据,因为您可以调用 ->scrape($html, $originating_uri)

        4
  •  0
  •   brian d foy    16 年前

    您需要实时执行此操作吗?效率低下对你有什么影响?您是否连续执行任务,以便在进入下一页之前必须提取一页?为什么要避免缓存?

    你的爬虫能下载网页并把它们传递给其他东西吗?也许您的爬虫程序甚至可以并行运行,或者以某种分布式方式运行。