Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 价格比较网站-爬虫_Php_Javascript_Web Crawler - Fatal编程技术网

Php 价格比较网站-爬虫

Php 价格比较网站-爬虫,php,javascript,web-crawler,Php,Javascript,Web Crawler,我有一个价格比较网站。 你可以点击一个报价链接,我会从商店得到1美元 问题是:爬虫在整个网站上爬行。所以他们“点击链接”。 如何防止他们点击?Javascript是一个糟糕的解决方案 谢谢大家! 你可以: 使用“rel=nofollow”指示爬虫不要跟随你的链接 阻止某些用户代理字符串 使用robots.txt排除网站的传播 不幸的是,上述任何一项都不能排除行为不好的爬虫程序。真正阻止爬虫的唯一解决方案是某种JavaScript链接或验证码。我一直在用错误的方式思考这个问题 我同意上面@yttr

我有一个价格比较网站。 你可以点击一个报价链接,我会从商店得到1美元

问题是:爬虫在整个网站上爬行。所以他们“点击链接”。 如何防止他们点击?Javascript是一个糟糕的解决方案

谢谢大家!

你可以:

  • 使用“rel=nofollow”指示爬虫不要跟随你的链接

  • 阻止某些用户代理字符串

  • 使用robots.txt排除网站的传播


  • 不幸的是,上述任何一项都不能排除行为不好的爬虫程序。真正阻止爬虫的唯一解决方案是某种JavaScript链接或验证码。

    我一直在用错误的方式思考这个问题

    我同意上面@yttriuszzerbus所说的一切——在文件中添加robots.txt,在链接中添加“rel=nofollow”,并阻止您知道的用户代理

    所以,如果你有人现在正试图点击链接,那要么是一个活人,要么是一个你不想点击的行为不端的机器人

    那么,做一些奇怪的事情来创建商店网站的链接怎么样?通常情况下,你永远不会这样做,因为这会使你的网站无法索引。但这不是一个问题——所有行为良好的机器人不会索引这些链接,因为它们将遵守robots.txt文件


    我在考虑一些事情,比如没有一个
    ,我也有类似的项目。
    我的问题只有通过阻止某些用户代理字符串才能解决

    另一个问题是,我不知道每个“坏”用户代理的,所以当一个新的爬虫进入该站点时,我将其添加到黑名单中,并从统计数据中追溯删除其访问


    “rel=nofollow”和robots.txt对我来说根本不起作用。

    创建一些模式并使用正则表达式进行检查,以避免“点击”它们如何。。。但并不是所有爬虫都知道这个“规则”。你是说你自己的爬虫来爬虫你的目标网站或搜索引擎机器人吗?你可以检查用户代理是否发出请求,并且只有当用户代理是已知的浏览器时才处理后端。@VitoNordloh如果爬虫忽略了一些事情,你就无能为力了。你制定了正确的规则,他们就会违反规则。唯一的解决方法就是你检测它们[可能手动]并阻止它们。一些机器人可能会在文本中搜索未链接的URL以获取引用/提及