如何确定两个网页是否完全相同

时间:2013-12-26 06:42:58

标签: html algorithm diff

是否有任何自动方式来测试两个网页是否完全相同(甚至图像,文本等)。

2 个答案:

答案 0 :(得分:2)

您可以将两个页面都提取到变量并比较结果。这是PHP中的一个简短脚本。

<?php
$page1 = file_get_contents('http://SITE1');
$page2 = file_get_contents('http://SITE2');

if ($page1 == $page2) {
    echo 'Pages are identical';
}
?>

如果可用作实用程序,也可以使用命令行执行此操作。你需要安装wget。

$: wget -O site1 SITE1
$: wget -O site2 SITE2
$: diff site1 site2

我希望有帮助

答案 1 :(得分:0)

我创建了两个测试用例,一个用不同的页面展示了另一个测试用例。

替换$ webpage1-4参数以获得结果。

<?php
$webpage1 = file_get_contents('http://php.net');
$webpage2 = file_get_contents('http://wikipedia.com');

$webpage3 = file_get_contents('http://stackoverflow.com');
$webpage4 = file_get_contents('http://stackoverflow.com');

//Test Case 1 ( If different )
$hash_page1 = md5($webpage1);
$hash_page2 = md5($webpage2);

if($hash_page1 === $hash_page2 ){
echo "Page's Have a Same Code \n";
echo "The Md5 Hash of Both is :".$hash_page1;
}else{
echo "-= Pages are Different =-";
echo "<br/>Hash1 of I page is : ".$hash_page1."<br/>Hash2 of II page : ".$hash_page2;
}

//Test Case 2 ( If Same webpage )

$hash_page3 = md5($webpage3);
$hash_page4 = md5($webpage4);

if($hash_page3 == $hash_page4){
echo "<br/><br/> Test Case : Similar Sites, Both Pages are Same,<br/> Hash is : ".$hash_page3;
}

?>

注:

优点:页面更改的轨迹或精确的相似性比较。 缺点:即使是ALPHABET / SYMBOL更改,哈希更改和不匹配,也要注意!