Naz*_*sen 2 node.js web-scraping puppeteer
当我在模式下运行节点 APIheadless: false时,它可以打开一个浏览器实例,我可以获取数据。但当我使用headless: true时,它显示访问被拒绝并且不会抓取数据。我的代码如下。
(async () => {
const browser = await puppeteer.launch({
headless: false
});
const page = await browser.pages();
await page[0].goto(url);
const my = await page[0].evaluate(() => {
let title = document.getElementsByClassName('p-name')[0].innerHTML.trim();
return title;
});
console.log(my);
res.status(200).json(my);
await browser.close();})();
Run Code Online (Sandbox Code Playgroud)
我搜索解决方案并找到了这个(Puppeteer 在非无头模式下打开一个空选项卡)。这无法完全解决我的问题。这帮助我关闭了打开的其他浏览器。提前致谢。
小智 5
我认为你必须设置用户代理。
await page[0].setUserAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36")
Run Code Online (Sandbox Code Playgroud)
下面的代码对我有用。
await page[0].setUserAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1327 次 |
| 最近记录: |