我正在尝试一些文本比较/基本抄袭检测,并希望在网站到网站的基础上尝试这一点。但是,我有点陷入寻找处理文本的正确方法。
您如何处理和比较两个网站的内容是否有抄袭?
我在想这样的伪代码:
// extract text
foreach website in websites
crawl website - store structure so pages are only scanned once
extract text blocks from all pages - store this is in list
// compare
foreach text in website1.textlist
compare with all text in website2.textlist
我意识到这个解决方案可以非常快速地积累大量数据,所以它可能只能用于非常小的网站。
我还没有确定实际的文本比较算法,但是现在我更感兴趣的是让实际的过程算法先工作。
我认为将所有文本提取为单个文本片段(来自段落,表格,标题等)是个好主意,因为文本可以在页面上移动。
我在C#(也许是ASP.NET)中实现它。
我对你可能提出的任何意见或建议很感兴趣,所以请拍! :)
答案 0 :(得分:2)
我解决这个问题的方法是谷歌搜索您试图保护其版权的特定,相当独特的文本块。
话虽如此,如果你想建立自己的解决方案,这里有一些评论:
答案 1 :(得分:1)
你可能会对片段检测更感兴趣。例如,很多页面上会有“home”这个词,你不在乎。但是很少有页面在整个页面上具有完全相同的单词。因此,您可能希望比较和报告具有长度为4,5,6,7,8等长度匹配的页面以及每个长度的计数。分配分数并对它们进行加权,如果超过“神奇数字”,则报告可疑的复印机。
对于C#,您可以使用webBrowser()来获取页面并轻松获取其文本。对不起,没有代码示例可以方便复制/粘贴,但MSDN通常有很好的样本。