【问题标题】:Stripping irrelevant parts of a web page剥离网页的不相关部分
【发布时间】:2011-08-28 09:56:40
【问题描述】:

在通过 Python 抓取网页的同时,是否有一种 API 或系统的方法可以去除网页的不相关部分?例如,以这一页为例——唯一重要的部分是问题和答案,而不是侧栏列、标题等。人们可以猜测这样的事情,但有什么聪明的方法吗?

【问题讨论】:

    标签: python screen-scraping web-scraping


    【解决方案1】:

    这个 git hub 项目解决了你的问题,但它是用 Java 编写的。可能值得一看:goose

    【讨论】:

      【解决方案2】:

      一种方法是比较共享同一模板的多个网页的结构。在这种情况下,您将比较多个 SO 问题。然后您可以确定哪些内容是静态的(无用的)或动态的(有用的)。

      这个字段被称为包装器归纳。不幸的是,它比听起来更难!

      【讨论】:

        【解决方案3】:

        Readability 书签中的方法,至少有两个 Python 实现可用:

        【讨论】:

          【解决方案4】:

          一般来说,不会。在特定情况下,如果您对正在抓取的网站的结构有所了解,则可以使用Beautiful Soup 之类的工具来操作 DOM。

          【讨论】:

          • 有一些启发式方法可以识别文档的重要部分。其中一些使用 NLP,一些使用渲染元素的大小,我敢肯定这两种方法和其他风格完全混合。我不知道任何此类算法的名称,但它们确实存在。无论哪种方式,Beautiful Soup +1。绝对是入门的方法。
          猜你喜欢
          • 1970-01-01
          • 2020-12-13
          • 2020-06-07
          • 2015-12-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-06-08
          • 2012-02-20
          相关资源
          最近更新 更多