如何通过php伪造网址检测

时间:2013-10-12 21:28:55

标签: php url curl artificial-intelligence

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

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

我使用curl和正则表达式来执行此部分以下载和提取链接

然而 一些黄色网站正在制作假网址,例如,如果你转到http://example.com?page=12它有一些指向http://example.com?page=12&id=10http://example.com?page=13等的链接。 这将使循环和脚本无法完成网站下载

有没有办法检测这类页面??

p.s。:我认为谷歌和雅虎以及其他一些搜索引擎也面临着这样的问题,但是他们的数据库很清楚,而且在搜索中没有显示这些数据....

1 个答案:

答案 0 :(得分:0)

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

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

这里的小方注意:确保您阻止来自其他域的网站,否则您可能会意外地开始抓取整个网络:)