使用 PHP 智能检测重复内容



我构建了一个网络爬虫,它采用网站或RSS提要,解析提要和/或网站的所述内容,提取所有适当的信息,然后将其保存到数据库中。这是一个个人实验,看看我是否可以建立一个没有真正目的的智能和匿名网络爬虫,只是为了看看我能有多先进,然后我将开源代码供其他人学习。

问题是我目前正在抓取 3 个新闻网站。当谈到突发新闻时,所有3个网站(特别是如果它是一个大新闻)很有可能都会写自己对新闻的解释,但最终都是同一个新闻。

我一直在尝试提出一种解决方案,当一篇被拉入的文章已经被谈论并从另一个新闻网站导入并且可能该链接与该故事相关联时,可以尽可能最好地检测到(其他网站也写过这个:link1,link2)。

是否有一种久经考验的方法来检测一个或多个内容是否有效相同?我已经编写了一些伪代码,但不幸的是,我不是一个非常聪明的开发人员,无法接受它并使其有效。

这是我的想法:

  1. 解析指向网站的链接
  2. 去掉通用词,保留关键字(公司名称、国家等)
  3. 然后计算剩余的单词并计算分数

这就是我的思维遇到障碍的地方。如何有效地创建页面快照,然后将其与已导入的数据库中预先存在的内容进行比较?这就是我认为需要这样做的方式。

也许我想多了,我只需要检查文章是否有相似的标题?

我的方法是分析来自单个网站的单个废料结果,省略凭据和各种其他常见项目。

现在,从其余部分创建每个新故事的剖析,如何?我们可以通过对单个故事中找到的术语进行加权优先级来做到这一点,如何?比如给非字典术语加权(这将是公司名称、个人名称)赋予城市名称、地区权重。将这些非字典术语相互匹配,因此与技术术语相匹配。

我的 exp 说,匹配像这样的非字典术语将解决至少 50% 的问题,再加上制作个人资料的全部内容。

最新更新