【问题标题】:How to fix "please wait a few minutes before you try again" error instagram?如何修复“请等待几分钟再试一次”错误instagram?
【发布时间】:2021-07-30 15:16:14
【问题描述】:

我第一次使用 puppeteer 在本地托管的 firebase 云功能 上运行它。 我一直在尝试使用不同的帐户,我等了几个小时以便错误可以解决,但没有运气。我得到的错误:

我无法与网站互动,即使我切换路线,这也是唯一弹出的内容。

我做过/尝试过的事情: 我按照本教程编写了完全相同的应用程序:https://www.youtube.com/watch?v=dXjKh66BR2U 如果有类似我的问题,在谷歌上搜索了几个小时,仍然没有适合我的解决方案。

编辑:

我使用的代码基本上来自fireship.io

const puppeteer = require('puppeteer');

const scrapeImages = async (username) => {
    const browser = await puppeteer.launch( { headless: true });
    const page = await browser.newPage();
    
    await page.goto('https://www.instagram.com/accounts/login/');


    // Login form
    await page.screenshot({path: '1.png'});

    await page.type('[name=username]', 'fireship_dev');

    await page.type('[name=password]', 'some-pa$$word');

    await page.screenshot({path: '2.png'});

    await page.click('[type=submit]');

    // Social Page

    await page.waitFor(5000);

    await page.goto(`https://www.instagram.com/${username}`);

    await page.waitForSelector('img ', {
        visible: true,
    });


    await page.screenshot({path: '3.png'});


    // Execute code in the DOM
    const data = await page.evaluate( () => {

        const images = document.querySelectorAll('img');

        const urls = Array.from(images).map(v => v.src);

        return urls;
    });
  
    await browser.close();

    console.log(data);

    return data;
}

我在控制台上遇到的错误:

UnhandledPromiseRejectionWarning: TimeoutError: waiting for selector `input[name="username"]` failed: timeout 30000ms exceeded

【问题讨论】:

  • 在您投票结束之前,请考虑添加一条评论,说明如何提高清晰度。谢谢。
  • 您好,您可以将您的代码连同您遇到的错误信息一起添加到您的问题中。
  • 我提高了清晰度,更新了问题。
  • 可能 instagram 只是不喜欢你刮

标签: node.js firebase google-cloud-functions instagram puppeteer


【解决方案1】:

尝试在page.goto() 之前添加其他标题,如下所示:

    await page.setExtraHTTPHeaders({
            'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
            'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36',
            'upgrade-insecure-requests': '1',
            'accept-encoding': 'gzip, deflate, br',
            'accept-language': 'en-US,en;q=0.9,en;q=0.8'
          })

它添加了标题以使 puppeteer 看起来像在普通操作系统中使用的普通浏览器

【讨论】:

  • 感谢您的回复!你能解释一下代码的作用吗?
猜你喜欢
  • 2021-07-07
  • 1970-01-01
  • 2014-12-04
  • 1970-01-01
  • 2019-08-31
  • 2019-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多