首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分析机器人索引/机器人检测,noindex

分析机器人索引/机器人检测,noindex
EN

Stack Overflow用户
提问于 2016-07-12 20:34:32
回答 2查看 2.3K关注 0票数 2

首先,这不是一个重复的问题,因为我已经检查了几乎所有503 /机器人索引问题。他们都没解决我的问题。我正试图从indiegala.com获得免费列表,但这个网站有一些保护,以防止机器人和机器人。我的目的不是违法的,我只是想得到赠品清单,然后检查游戏是否有蒸汽交易卡。但知道吗,indiegala给了我一个机器人索引。目前,我正在使用该代码;

代码语言:javascript
复制
       String url = "https://www.indiegala.com/giveaways";
    try {
        String content = Jsoup.connect(url).userAgent("Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36").ignoreHttpErrors(true).followRedirects(true).get().html();
        System.out.println(content);
    } catch (IOException ex) {
        System.out.println(ex.toString());
    }

要查看输出(站点的源代码,在我的代码中,变量"content"),您可以运行我给出的代码,我不能在这里添加输出,因为它有点长。但看起来是这样的

代码语言:javascript
复制
<head>
 <meta name="ROBOTS" content="NOINDEX, NOFOLLOW" />
</head>

那我怎么通过这个保护呢?我的程序能假装是个通过保护的人吗?

EN

回答 2

Stack Overflow用户

发布于 2016-07-13 00:23:18

我看过你的案子,想出了绕过机器人探测的方法。

你需要的是cookies。见下文代码:

代码语言:javascript
复制
String url = "https://www.indiegala.com/giveaways";

Document doc = Jsoup.connect(url)
            .userAgent("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36")
            .header("cookie", "incap_ses_436_255598=zI1vN7X6+BY84PhGvPsMBjKChVcAAAAAVhJ+1//uCecPhV2QjUMw6w==")
            .timeout(0)
            .get();

这看起来像网站所需的特定cookie,并将其添加到标题中,成功地为我提供了实际的网站内容:)

注意到:通常,如果遇到这样的情况,您可以很容易地使用Chrome工具检查Chrome发送的请求,然后在您的Jsoup请求中复制它:)

票数 3
EN

Stack Overflow用户

发布于 2017-11-17 12:36:51

那是我的案子。也许能帮上忙。机器人探测器检测到了我的浏览器代理,并显示了著名的captcha“请显示我不是机器人”。首先,通过使用位于这个地址中的铬插件,显示了传递给网站的标题,并且知道了cookie和userAgent。我只是复制了代码中显示的cookie和userAgent,每次检测到机器人时,我都会使用本地浏览器手动绕过captcha。

代码语言:javascript
复制
Doc = Jsoup.connect(URL_String)
  .userAgent("Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36")    
  .header("cookie","AWSALB=7ygHW4oBnXOkLMVFehmoTM8F1lLfDiTJVVeP5DTIw4dpGgQ4o2F5mYYm4bvCkJul1nkWqAjq9s0pKojKFqdP7wRm/NX/Ye2ntYKwtlOhVvA4dwSM8QTn1uwi4jgI; Expires=Fri, 24 Nov 2017 11:37:10 GMT; Path=/")
  .timeout(0)
  .get();
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38338418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档