【问题标题】:Authenticate using cookies for web scraping?使用 cookie 进行身份验证以进行网络抓取?
【发布时间】:2020-06-09 01:38:09
【问题描述】:

我构建了一个使用 Puppeteer 从 LinkedIn 抓取数据的应用。我使用电子邮件和密码登录,但想传入 cookie 进行身份验证。这是我目前使用的:

const puppeteer = require("puppeteer");

(async () => {
    try {
        const browser = await puppeteer.launch({ headless: true });
        const page = await browser.newPage();
        await page.goto("https://www.linkedin.com/login");

        await page.waitForSelector(loginBtn);
        await page.type("#username", username);
        await page.type("#password", password);
        await page.click(loginBtn, { delay: 30 });

        await browser.close();
    } catch (error) {
        console.log(`Our error = ${error}`);
    }
})();

我见过像 Phantombuster 这样的网站使用“li_at”cookie 进行身份验证。 https://i.imgur.com/PI8fzao.png

如何使用 cookie 进行身份验证?

【问题讨论】:

    标签: javascript authentication cookies web-scraping puppeteer


    【解决方案1】:

    免责声明:我在 Phantombuster 工作;)

    由于登录成功后会在浏览器中设置一个 cookie,因此您可以将该步骤替换为直接结果:

    await page.setCookie({ name: "li_at", value: "[cookie here]", domain: "www.linkedin.com" })
    

    然后您应该能够goto 任何网站页面,就像您已通过登录表单进行身份验证一样。

    【讨论】:

      猜你喜欢
      • 2014-08-16
      • 1970-01-01
      • 1970-01-01
      • 2015-12-31
      • 2014-10-02
      • 2016-03-24
      • 2018-07-23
      • 1970-01-01
      • 2017-05-06
      相关资源
      最近更新 更多