【问题标题】:Scraper: distinguishing meaningful text from meaningless items, hadoopScraper:区分有意义的文本和无意义的项目,hadoop
【发布时间】:2016-05-19 19:33:29
【问题描述】:

我正在尝试在 Apache Nutch 中构建一个爬虫和抓取工具,以查找包含讨论特定单词主题(例如“选举”、“选举”、“投票”等)的部分的所有页面。

一旦我爬过,Nutch 会从停用词和标签中清除 HTML,但它不会删除菜单声音(在网站的每个页面中)。 因此,当您查找所有谈论选举的页面时,您可能会检索到整个网站,因为它的菜单中包含“选举”一词,因此在每个页面中都有。

我想知道是否存在分析网站的多个页面以了解页面的主要模板是什么的技术。有用的论文和/或实现/库。

我正在考虑创建某种 hadoop 作业来分析多个页面之间的相似性以提取模板。但是同一个网站可能有多个模板,所以很难想出一个有效的方法来做到这一点。

例如

WEB页面1:

MENU HOME VOTE ELECTION NEWS

meaningful text... elections ....

网页 2:

MENU HOME VOTE ELECTION NEWS

meaningful text... talking about swimming pools ....

【问题讨论】:

    标签: html hadoop mapreduce web-scraping nutch


    【解决方案1】:

    您没有提到您使用的是 Nutch 的哪个分支(1.x/2.x),但目前我可以想到几种方法:

    查看NUTCH-585,如果您不抓取许多不同的网站并且您可以指定要从索引内容中排除的 HTML 内容的哪些节点,这将很有帮助。

    如果您正在使用不同的站点并且以前的方法不可行,请查看NUTCH-961,它使用 Apache Tika 中的样板功能从您的 HTML 内容中猜测哪些文本很重要。这个库使用了一些算法并提供了几个提取器,你可以试试看什么对你有用。以我的经验,我遇到了一些新闻网站的问题,这些网站有很多 cmets,一些 cmets 最终被单独索引到主要文章内容,但这毕竟是一个小问题。无论如何,这种方法在很多情况下都可以很好地工作。

    您还可以查看NUTCH-1870,它允许您指定 XPath 表达式以将网页的某些特定部分提取为单独的字段,在 Solr 中将其与正确的 boost 参数一起使用可以提高您的精度。

    【讨论】:

      猜你喜欢
      • 2010-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-30
      • 2011-02-02
      • 2021-07-02
      • 1970-01-01
      相关资源
      最近更新 更多