首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >我正在尝试抓取的网站阻止了我,因为我正在使用自动化工具,我如何解决这个问题?

我正在尝试抓取的网站阻止了我,因为我正在使用自动化工具,我如何解决这个问题?
EN

Stack Overflow用户
提问于 2019-03-27 05:58:20
回答 1查看 966关注 0票数 0

当我尝试使用木偶剧抓取某些页面时,我被chegg.com阻止了。有什么办法可以绕过这个问题吗?也许使用chromium的隐身浏览器?

当我尝试登录时,它会给出错误,并阻止我登录。

我还记得我读过一些关于头部的东西,或者删除头部来解决这个问题?

我只打算每分钟抓取一次,也许一小时几次。不是很常见。

代码语言:javascript
运行
AI代码解释
复制
const puppeteer = require("puppeteer");
const CREDS = require("./creds");
var SlackBot = require("slackbots");
var channel = "testing";
var tryAgain =
  "Try again, nerd. Post a plain text chegg link Ex. https://www.chegg.com/homework-help/questions-and-answers/assume-unc...";
var tryAgainTwo =
  "Try again, nerd. Post a plain text chegg link Ex. <https://www.chegg.com/homework-help/questions-and-answers/assume-unc>...";
var imageName = "workplease2";

var bot = new SlackBot({
  token: "--SNIP--",
  name: "cheggy"
});

// bot.on("start", function() {
//   bot.postMessageToChannel(channel, "Hello world!");
// });

bot.on("message", function(data) {
  if (data.type !== "message") {
    return;
  }

  handleMessage(data.text);
});

function handleMessage(message) {
  if (
    message.includes("chegg.com/") &&
    message.includes("Try again, nerd.") === false
  ) {
    bot.postMessageToChannel(
      channel,
      "Give me a sec to find that for you. XOXO"
    );
    run();
  } else {
    if (
      message === tryAgainTwo ||
      message.includes("sec to find") ||
      message.includes(imageName)
    ) {
      return;
    }
    bot.postMessageToChannel(channel, tryAgain);
    console.log("XXXXXXXXXXXXXXXXXXXXthis is the message!" + message);
    return;
  }
}

function sendGreeting() {
  var greeting = getGreeting();
  bot.postMessageToChannel(channel, greeting);
}

function getGreeting() {
  var greetings = [
    "hello!",
    "hi there!",
    "cheerio!",
    "how do you do!",
    "¡hola!"
  ];
  return greetings[Math.floor(Math.random() * greetings.length)];
}

async function timeout(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

async function run() {
  const browser = await puppeteer.launch({
    headless: false
  });

  const page = await browser.newPage();

  await page.goto("https://www.chegg.com/auth?action=login&reset_password=0");

  const USERNAME_SELECTOR = "#emailForSignIn";
  const PASSWORD_SELECTOR = "#passwordForSignIn";
  //const BUTTON_SELECTOR = '#eggshell-19 > form > div > div > div > footer > button';

  await page.click(USERNAME_SELECTOR);
  await page.keyboard.type(CREDS.email);

  await page.click(PASSWORD_SELECTOR);
  await page.keyboard.type(CREDS.password);

  //await page.click(BUTTON_SELECTOR);
  await page.keyboard.press(String.fromCharCode(13));

  await page.waitForNavigation();

  await page.goto(
    "https://www.chegg.com/homework-help/questions-and-answers/assume-uncle-holds-one-stock-east-coast-bank-ecb-thinks-little-risk-agree-stock-relatively-q9069609"
  );

  await timeout(1000);

  await page.screenshot({ path: "./myfolder/" + imageName, fullPage: true });

  browser.close();

  console.log("do you reach me?");

  var fs = require("fs");
  var request = require("request");

  var SLACK_TOKEN = "--SNIP--";
  var SLACK_CHANNEL = "general";
  var filepath = "./myfolder/workplease2.png";

  var options = {
    method: "POST",
    url: "https://slack.com/api/files.upload",
    headers: { "cache-control": "no-cache" },
    formData: {
      token: SLACK_TOKEN,
      channels: SLACK_CHANNEL,
      file: fs.createReadStream(filepath)
    }
  };

  request(options, function(error, response, body) {
    if (error) throw new Error(error);

    console.log(body);
  });
}

EN

回答 1

Stack Overflow用户

发布于 2019-03-27 07:56:26

保存cookies,设置浏览器,并将木偶操纵者的速度减慢到人类的速度。

代码语言:javascript
运行
AI代码解释
复制
const browser = await puppeteer.launch({
        headless: false,
        devtools: true,
        slowMo: 250
        userDataDir: 'C:\\userData' // userDataDir <string> Path to a User Data Directory.
 });

 const page = await browser.pages();
 await page[0].setUserAgent('5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55370677

复制
相关文章
我正在使用中的博客创作工具
从 2020 年 4 月开始,截至本月,我的博客【肘子的 Swift 记事本】已创建 2 年了。这期间,使用过不少的工具以协助博客的创作。本文将对我正在使用中的应用工具(包含资料收集整理、文本编辑、截图及录屏、格式转换、图片编辑、图床管理等方面)做以介绍。
东坡肘子
2022/07/28
8180
我正在使用中的博客创作工具
我目前正在使用的 AI 服务
随着 ChatGPT 的火爆,生活中好像突然之间到处都充满了有关人工智能的话题。尽管对新技术、新事物已没有那么的狂热,同时对 AI 也持有谨慎的态度,但并不影响我将一些 AI 服务应用到自己的工作中,丰富自己的工具箱,提高工作效率。
东坡肘子
2023/05/18
6270
我目前正在使用的 AI 服务
我目前正在使用的 AI 服务
随着 ChatGPT 的火爆,生活中好像突然之间到处都充满了有关人工智能的话题。尽管对新技术、新事物已没有那么的狂热,同时对 AI 也持有谨慎的态度,但并不影响我将一些 AI 服务应用到自己的工作中,丰富自己的工具箱,提高工作效率。
东坡肘子
2023/04/11
1.3K0
我目前正在使用的 AI 服务
因为这个bug,我被同事鄙视了
当UserServiceImpl这个类被初始化的时候,会同时创建类中的对象userInfoMap
燃192
2023/02/28
3570
因为这个bug,我被同事鄙视了
小心!我正在偷窥你的运营
首先,问一个很简单的问题考考你——在上海,摩拜单车出行的高峰时段是什么?这个问题相对比较容易回答,根据普通人上下班的时段应该是早上七八点左右,下午六七点左右。恭喜,你答对了。
贺思聪
2020/04/30
5900
小心!我正在偷窥你的运营
久违了,我我我我的童年照!
少年的肩应该担起清风明月和草长莺飞 眼里应该藏下星辰大海和万丈光芒 而当少年已成人 虽已忘却了诗篇和牧笛 但心中偶尔也会渴望那片原野 不管当年的风在不在 他们心中仍保留着少年最灿烂的样子 恰逢儿童节,我们发自心底的问: 你,还记得那个少年吗? 泛黄照片里的儿时模样 还回得去吗? 带着童心出发,每一程都是童话 值此六一儿童节 祝腾讯云AI的大小朋友们儿童节快乐! 快乐之余,识别下方二维码 腾讯云AI带你一键回到你的童年时代 「文末有体验海报可转发给家人朋友们一起Pick」 Pick一张AI小姐
腾讯云AI
2021/06/02
1.6K0
这个key我查了,没问题
同事 K 微信里发过来一张手机拍的图片,他在客户现场,原来我们都是开发部前端组的,现在开发人员按业务线划分,他去另外一个组了,客户现场那里的开发电脑由于安全需要不能连外网。
草帽lufei
2022/07/29
9450
这个key我查了,没问题
我的网站被攻击了,我该怎么防护?
如果您的网站已经被攻击,以下是一些建议来加强您的网站安全并保护它免受未来攻击的影响: 保持软件更新:确保您的操作系统、服务器软件、应用程序和插件等软件都是最新版本。更新通常包括修补已知漏洞的补丁。 强密码和多因素认证:使用强密码,并启用多因素身份验证(MFA)来保护您的账户。 防病毒软件和防火墙:使用安全软件来保护您的服务器免受病毒和恶意软件的侵害,并使用防火墙来限制对服务器的访问。 加密:对您的网站上的所有敏感信息进行加密,特别是在数据传输时。可以使用 HTTPS 和 SSL/TLS 证书来保护用户数据和
用户8658949
2023/03/04
6450
GitHub的这个彩蛋我居然才知道,我OUT了
搞开发的哪个还没有GitHub账户?作为一个GitHub的资深用户,今天居然才发现GitHub还有这个彩蛋。什么彩蛋呢?比如我的GitHub是: https://github.com/NotFound403 我可以建立一个同名的仓库 NotFound403。最终是这个效果: github 主页 它是怎么做到的呢?其实非常简单!只需要在同名仓库(我的为NotFound403)建立一个README.md,里面写Markdown,Github会自动将你写的Markdown文件渲染出来并放在你Github首页的顶
程序猿DD
2023/04/04
2390
GitHub的这个彩蛋我居然才知道,我OUT了
有了她,谁敢阻止我学习
公众号 1、Python爱好者社区,微信号:python_shequ 人生苦短,我用Python。分享Python相关的技术文章、工具资源、精选课程、视频教程、热点资讯、学习资料等。每天自动更新和推送。 2、Python爬虫分享,微信号:python_shequ 知乎专栏“爬虫从入门到放弃”作者。目前在知乎连载爬虫从入门到放弃到精通系列文章 3、张俊红,微信号:zhangjunhong0428 中国统计网专栏作者,数据分析路上的学习者与实践者,与你分享我的所见、所学、所想。 4、数据小魔方,微信号:data
小歪
2018/04/04
8870
这个工具,让我立刻抛弃了 PowerDesigner
我之前是做数据仓库开发的,有一个很重要的环节就是元数据模型管理,当时用的是 PowerDesigner,这个软件是强大,但是随着模型的增多,启动越来越慢,甚至超过了 2 分钟。而且这玩意是收费的,很明显,我自己下载的是破解版的,随着版权意识越来越重视,这是不可持续的。
somenzz
2021/11/04
1.8K0
Github的这个彩蛋我居然才知道,我OUT了
搞开发的哪个还没有GitHub账户?作为一个GitHub的资深用户,今天居然才发现GitHub还有这个彩蛋。什么彩蛋呢?比如我的GitHub是:
码农小胖哥
2021/03/03
4290
Github的这个彩蛋我居然才知道,我OUT了
这个在线文档工具, 让我上头了!
话不多说,开始使用 点此进行注册 邀请码:9aa8d536 (动动小手填写下吧. 谢谢大家了)
时间静止不是简史
2020/11/24
1.9K0
这个在线文档工具, 让我上头了!
我是如何使用Python来自动化我的婚礼的
譯 文 ❈ 原作者:Thomas Curtis 译者:ictar Github:https://github.com/ictar ❈ 2016年9月3日,对世界上的大多数人来说,或许就只是普普通通的一天,但对我而言,将会是一个难忘的日子,因为在那一天,我结婚了。 在规划婚礼时,要考虑许多不同的方面。食物、装饰、桌子装置(啊,是哒,这独立于装饰)、鲜花、住宿、交通、娱乐和位置。虽然在规划婚礼时有许许多多未知数,但是我可以肯定一件事。在婚礼中,有大量的名单、嵌套的名单、以及更多的远到目光可见的名单。当我瞪着越
Python中文社区
2018/01/31
2.8K0
我是如何使用Python来自动化我的婚礼的
我的网站苟活半年了!
自从 3 月份上线了网站后,我的小破站苟活了半年了。网站的内容都来自于我公众号的文章,系列化的文章不方便在公众号看,再加上公众号无法修改已发布的文章,所以选择建立了网站,供大家学习。
小林coding
2022/10/27
3380
我的网站苟活半年了!
这个姿势不错,我秒了.....
此篇文章由浅入深介绍秒杀的简单设计。现在我们做的各种项目中不少场景会用到抢购、秒杀,在大流量的前提下,将带领大家一起去研究一下如何去设计一个简单的秒杀(技术实现)。
灬沙师弟
2023/03/07
1950
这个姿势不错,我秒了.....
Python制作桑基图(我承认我低估了这个教程)
这是一幅别人文章里的图,大致的意思就是左边和右边之间的联系,最大的作用就是看着舒服,至于看的清不清楚我是真不知道。
一个有趣的灵魂W
2020/09/15
3.4K0
Python制作桑基图(我承认我低估了这个教程)
因为这个工具,我在 GitHub 搜索源码的时间缩短了 50%!
作为一名搬砖程序员,为了获取优质项目和源码,少不了逛 GitHub。一天下来,多多少少都会在 GitHub 上搜集优秀的开源项目。
GitHubDaily
2020/03/04
1.2K0
因为这个工具,我在 GitHub 搜索源码的时间缩短了 50%!
不会使用先进生产工具的我,正在加入被淘汰的行列 | ArchSummit
作者 | ChatGPT ArchSummit 全球架构师北京峰会即将如期而至,为期两天的峰会将于 2022 年 3 月 17 日至 28 日在北京举行。ArchSummit 是一场面向 IT 企业架构师和技术领导人的年度盛会,旨在为广大架构师和 IT 技术领导者提供一个交流、学习和分享最佳实践的平台。 本届峰会不仅汇聚了来自世界各地的技术大咖,更邀请到国内外 IT 领导者、专家和学者分享他们在数字化转型、DevOps、云原生等热门技术领域的成功案例、最佳实践和前沿观点。 此次峰会的主题是“数字化转型架构
深度学习与Python
2023/03/29
4170
不会使用先进生产工具的我,正在加入被淘汰的行列 | ArchSummit
我的小破网站也上线了!
其实想做一个自己的博客的想法由来已久了,但真正行动起来还是看到了我经常看的两个博主:帅地和程序员羊哥,他们都上线了自己的网站。
周旋
2022/09/19
7800
我的小破网站也上线了!

相似问题

我是prolog的新手,我正在尝试解决这个问题

10

我正在尝试抓取Startup-印度网站

114

正在尝试创建altcase。Char失效了,我该怎么解决这个问题?

30

我正在尝试使用Scrapy抓取数据

19

我正在尝试解决DFA

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档