Html Scraper:区分有意义的文本和无意义的项目,hadoop

Html Scraper:区分有意义的文本和无意义的项目,hadoop,html,hadoop,mapreduce,web-scraping,nutch,Html,Hadoop,Mapreduce,Web Scraping,Nutch,我正试图在ApacheNutch中构建一个爬虫和刮板,以查找包含讨论特定单词主题(例如“选举”、“选举”、“投票”等)的部分的所有页面 一旦我完成了爬网,Nutch会清除HTML中的停止词和标记,但不会删除菜单语音(在网站的每个页面中)。 因此,当你查找所有关于选举的页面时,你可能会检索到整个网站,因为它的菜单中有“选举”一词,因此在每个页面中都有 我想知道是否存在分析网站多个页面以了解页面主要模板的技术。有用的论文和/或实现/库 我在考虑创建某种hadoop作业,分析多个页面之间的相似性以提取

我正试图在ApacheNutch中构建一个爬虫和刮板,以查找包含讨论特定单词主题(例如“选举”、“选举”、“投票”等)的部分的所有页面

一旦我完成了爬网,Nutch会清除HTML中的停止词和标记,但不会删除菜单语音(在网站的每个页面中)。 因此,当你查找所有关于选举的页面时,你可能会检索到整个网站,因为它的菜单中有“选举”一词,因此在每个页面中都有

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

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

例如

网页1:

MENU HOME VOTE ELECTION NEWS

meaningful text... elections ....
网页2:

MENU HOME VOTE ELECTION NEWS

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

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

如果您没有对许多不同的站点进行爬网,并且可以指定要从索引内容中排除的HTML内容的哪些节点,那么看看哪些节点会有所帮助

如果您使用的是不同的站点,而前面的方法不可行,那么请看一看使用ApacheTika中的样板文件功能从HTML内容中猜出什么文本是重要的。这个库使用了一些算法,并提供了几个提取器,您可以尝试一下,看看什么适合您。根据我的经验,我对有很多评论的新闻网站有一些问题,一些评论最终与主要文章内容一起被单独编入索引,但这毕竟是个小问题。无论如何,这种方法在很多情况下都能很好地工作


此外,您还可以浏览一下,通过指定XPath表达式将网页的某些特定部分提取为单独的字段,在Solr中使用此表达式和正确的boost参数可以提高精度。

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

如果您没有对许多不同的站点进行爬网,并且可以指定要从索引内容中排除的HTML内容的哪些节点,那么看看哪些节点会有所帮助

如果您使用的是不同的站点,而前面的方法不可行,那么请看一看使用ApacheTika中的样板文件功能从HTML内容中猜出什么文本是重要的。这个库使用了一些算法,并提供了几个提取器,您可以尝试一下,看看什么适合您。根据我的经验,我对有很多评论的新闻网站有一些问题,一些评论最终与主要文章内容一起被单独编入索引,但这毕竟是个小问题。无论如何,这种方法在很多情况下都能很好地工作

此外,您还可以了解一下,通过指定XPath表达式将网页的某些特定部分提取为单独的字段,在Solr中使用正确的boost参数可以提高精度