gpt4 book ai didi

html - 如何阻止 Google 抓取网络服务网址?

转载 作者:行者123 更新时间:2023-11-28 03:51:58 25 4
gpt4 key购买 nike

我发现 GoogleBot 正在抓取 JavaScript/AJAX 代码中引用的网络服务 URL。该 URL 已作为排除项包含在 robots.txt 中,但 Google 在确定要抓取 的内容时似乎不再遵守 robots.txt - 它似乎只是用它来了解什么不索引

谢天谢地,这些服务 URL 只返回数据而不是执行操作,但它扰乱了我们收集的统计数据,这是非常不受欢迎的。我个人看不出 Google 是如何找到网络服务的 URL 的,除非它在 ​​Javascript 代码中抓取任意字符串(这似乎不太可能?)。

对于某些 URL,这也会导致我从网站收到很多 Elmah 错误消息,这些消息说:

System.InvalidOperationException:无法识别以“/GetShortlists”结尾的 URL 的请求格式。” ... 因为 Google 试图GET 仅支持的 URL 发布

它在其中查找 URL 的代码如下:

function GetShortlistsForUser() {
$.ajax({
type: "POST", url: "/WebService/WebService.asmx/GetShortlists",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) { /*--CUT--*/ });
}
});

那么我应该通过替换斜杠来混淆 URL,还是有更好的方法来阻止这些被抓取?

最佳答案

(1) 尝试打破 javascript 代码中的 url 格式,例如,

var breaker="x/G";
......
url: "/WebServic"+"e/WebService."+"asm"+breaker+"etshortlists",

因为 Google 可能会使用正则表达式来确定哪一部分是 url...(我不确定这是否可以阻止爬虫,但如果它有效,你不需要将其分解到这个扩展,因为它也会破坏代码阅读经验。)

(2) 在您的服务器上,Google 爬虫通常使用自定义的代理字符串,因此您可以拒绝(或忽略)。

关于html - 如何阻止 Google 抓取网络服务网址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25805154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com