Web crawler 如何确定具有不同参数值的URL是否为;独特的;?

Web crawler 如何确定具有不同参数值的URL是否为;独特的;?,web-crawler,Web Crawler,我希望有人能帮我解决这个问题。我正在用PHP编写一个spider应用程序,它编译一个域中唯一URL的列表,处理每个唯一URL上的HTML数据,然后生成关于这些页面的统计数据 我的问题在于,当参数值不同时,是否知道我插入的URL对于我的列表是唯一的 例如,我的spider收集的两个URL在技术上是唯一的(“replytocom”的参数值不同),但也直接指向同一页面: 这些链接是你在博客上可以找到的,它可以让你更容易地回复特定的评论,同时仍然使用相同的回复形式。这就是我的问题所在:它们都是同

我希望有人能帮我解决这个问题。我正在用PHP编写一个spider应用程序,它编译一个域中唯一URL的列表,处理每个唯一URL上的HTML数据,然后生成关于这些页面的统计数据

我的问题在于,当参数值不同时,是否知道我插入的URL对于我的列表是唯一的

例如,我的spider收集的两个URL在技术上是唯一的(“replytocom”的参数值不同),但也直接指向同一页面:

这些链接是你在博客上可以找到的,它可以让你更容易地回复特定的评论,同时仍然使用相同的回复形式。这就是我的问题所在:它们都是同一页面的URL,这是我不想重新处理的数据(我真的只想处理原始页面的URL)。对于一个在所有评论部分都使用这些链接的博客来说,这对我的蜘蛛来说是一个大数据问题

我的问题是:有没有办法判断两个具有不同参数值的链接是否引用同一页面?让我疑惑的是,例如,具有不同参数值的YouTube视频实际上意味着不同的页面。除了亲自打开页面并进行检查外,是否有一种编程方式来判断两个URL是否加载同一页面


我真的非常感谢你在这方面的帮助

不,没办法说。参数(在
之后和
#
之前)被传递到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友好的。无论何时只要可用,规范链接至少可以帮助我减少遇到的数据重新处理量。再次感谢!