使用PHP智能检测重复内容

时间:2013-09-12 02:01:22

标签: php string algorithm web-scraping

我已经构建了一个Web抓取器,它接收网站或RSS提要,解析所述提要和/或网站的内容,提取所有适当的信息,然后将其保存到数据库中。这是一个个人实验,看看我是否可以建立一个没有真正目的的智能和匿名网络刮刀,只是为了看看我能走多远,然后我将公开寻找其他人学习的代码。

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

我一直在尝试提出一种解决方案,可以在收到的文章已经从另一个新闻网站上讲过并从其导入时可以尽可能地检测出来,并且该链接可能与该故事相关联(其他网站)还写了这个:link1,link2)。

是否有经过验证的方法来检测一个或多个内容是否实际相同?我写了一些伪代码,但不幸的是,我不是一个非常聪明的开发人员,可以把它当作有用的东西。

这是我的想法:

  1. 解析网站链接
  2. 通用字词被删除,关键字留在(公司名称,国家/地区等)
  3. 然后计算剩余的单词并计算分数
  4. 这就是我的想法遇到障碍的地方。如何有效地创建页面快照,然后将其与我已导入的数据库中的预先存在的内容进行比较?这就是我认为需要做的事情。

    也许我过度思考这个问题而我只需要检查一下文章是否有相似的标题?

1 个答案:

答案 0 :(得分:1)

我的方法是分析单个网站的单个废品结果,省略凭证和其他常见的其他项目。

现在。其余的创建每个新故事的分析,如何? 我们可以通过加权优先考虑在个别故事中找到的术语,如何做到这一点? 喜欢给非词典术语(公司名称,个人名称)的权重 给予cityname,region的权重。 将这些非字典术语相互匹配,然后使用技术术语。

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