我构建了一个使用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进行身份验证?
答案 0 :(得分:1)
免责声明:我在Phantombuster工作;)
由于登录成功后会在浏览器中设置一个cookie,因此您可以用直接结果替换该步骤:
await page.setCookie({ name: "li_at", value: "[cookie here]", domain: "www.linkedin.com" })
然后,您应该可以goto
进入任何网站页面,就好像您已通过登录表单进行了身份验证一样。