0

我正在编写一个脚本,用于通过用户发送的 url 索引和下载整个网站

例如,当用户提交像http://example.com这样的域时,我将复制索引页面中的所有链接并下载其内部链接并从第一个开始......

我使用 curl 和正则表达式来下载和提取链接

但是,一些黄色网站正在制作假网址,例如,如果您访问http://example.com?page=12,它会提供一些指向http://example.com?page=12&id=10http://example 的链接。 com?page=13等.. 这将形成一个循环,脚本无法完成网站下载

有什么方法可以检测到这类页面!?

ps:我认为谷歌和雅虎以及其他一些搜索引擎也面临这种问题,但他们的数据库很清楚,搜索时不会显示这些数据....

4

1 回答 1

0

某些页面可能使用 GET 变量并且完全有效(就像您在此处提到的那样, ?page=12 和 ?page=13 可能是可以接受的)。所以我相信你真正在这里寻找的是一个独特的页面。

但是,无法直接从它们的 URL 中检测到这些。?page=12 可能指向与 ?page=12&id=1 完全相同的东西;他们可能不会。检测其中之一的唯一方法是下载它,将下载内容与您已经获得的页面进行比较,然后找出它是否真的是您尚未看到的页面。如果您以前看过它,请不要抓取它的链接。

这里的小注意事项:确保您阻止来自不同域的网站,否则您可能会不小心开始抓取整个网络 :)

于 2013-10-12T21:35:55.253 回答