Web crawler 如何确定具有不同参数值的URL是否为;独特的;?
我希望有人能帮我解决这个问题。我正在用PHP编写一个spider应用程序,它编译一个域中唯一URL的列表,处理每个唯一URL上的HTML数据,然后生成关于这些页面的统计数据 我的问题在于,当参数值不同时,是否知道我插入的URL对于我的列表是唯一的 例如,我的spider收集的两个URL在技术上是唯一的(“replytocom”的参数值不同),但也直接指向同一页面:Web crawler 如何确定具有不同参数值的URL是否为;独特的;?,web-crawler,Web Crawler,我希望有人能帮我解决这个问题。我正在用PHP编写一个spider应用程序,它编译一个域中唯一URL的列表,处理每个唯一URL上的HTML数据,然后生成关于这些页面的统计数据 我的问题在于,当参数值不同时,是否知道我插入的URL对于我的列表是唯一的 例如,我的spider收集的两个URL在技术上是唯一的(“replytocom”的参数值不同),但也直接指向同一页面: 这些链接是你在博客上可以找到的,它可以让你更容易地回复特定的评论,同时仍然使用相同的回复形式。这就是我的问题所在:它们都是同
我真的非常感谢你在这方面的帮助 不,没办法说。参数(在
?
之后和#
之前)被传递到web服务器,由web服务器决定如何处理它们,以及它们是否影响返回的页面
(在
#
之后的片段不会提供给服务器,并且不会影响服务器返回的HTML,但是JavaScript可能会使用它们来修改用户看到的页面。)不,没有办法判断。参数(在?
之后和#
之前)被传递到web服务器,由web服务器决定如何处理它们,以及它们是否影响返回的页面
(
#
后面的部分不会提供给服务器,也不会影响服务器返回的HTML,但JavaScript可能会使用它们来修改用户看到的页面。)否,即使在您的示例中,页面也会被更改,以便表单标识您单击要回复的对象
Web服务器可以使用您在请求中传递的参数(在?
之后和之前的项目)执行它喜欢的操作
#
后面的字符串表示浏览器应滚动到的页面上的定位点。否,即使使用您的示例,也会更改页面,以便表单标识您单击的回复对象
Web服务器可以使用您在请求中传递的参数(在?
之后和之前的项目)执行它喜欢的操作
#
后面的字符串表示浏览器应滚动到的页面上的定位点。网页包含
标记,用于为您回答此问题。
如果存在,这将指定此页面的“官方”URL;对于同一页面的不同URL,它应该是相同的
如果没有此标记,则说明您运气不好。网页包含
标记,可为您回答此问题。
如果存在,这将指定此页面的“官方”URL;对于同一页面的不同URL,它应该是相同的
如果这个标签不在那里,你就不走运了。这应该行得通
function PagesAreIdentical($pointer1, $pointer2) {
$headerArray1 = get_headers($pointer1);
$headerArray2 = get_headers($pointer2):
if($headerArray1['Content-Length'] == $headerArray2['Content-Length'])
{
if(file_get_contents($pointer1) != file_get_contents($pointer2))
return false;
else
return true;
}
else return false;
}
这应该行得通
function PagesAreIdentical($pointer1, $pointer2) {
$headerArray1 = get_headers($pointer1);
$headerArray2 = get_headers($pointer2):
if($headerArray1['Content-Length'] == $headerArray2['Content-Length'])
{
if(file_get_contents($pointer1) != file_get_contents($pointer2))
return false;
else
return true;
}
else return false;
}
的确在所讨论的页面上,设置为,即没有参数的裸URL,这在本例中似乎有意义。非常感谢您的回答。希望我抓取的大多数网站都是SEO友好的。无论何时只要可用,规范链接至少可以帮助我减少遇到的数据重新处理量。再次感谢!的确在所讨论的页面上,设置为,即没有参数的裸URL,这在本例中似乎有意义。非常感谢您的回答。希望我抓取的大多数网站都是SEO友好的。无论何时只要可用,规范链接至少可以帮助我减少遇到的数据重新处理量。再次感谢!