Puppeteer:匿名模式以及被“Access Denied”

匿名浏览器

//引用puppeteer
const puppeteer = require("puppeteer");

        let browser = await puppeteer.launch({
            headless: true,
            args: ['--no-sandbox',
                '--incognito',//匿名访问
                // '--true-devtools-experiments',
                // '--false-automation'
            ],
        });

在puppeteer.launch中有参数agrs可以设定匿名浏览模式,具体可参见puppeteer文档以及其参数字典

Puppeteer官方文档
agrs参数字典

Access Denied

有时候我们在使用puppeteer无头模式(headless :true)采集数据的时候会被“Access Denied”,使用有头模式(headless:false)可以正常访问

//引用puppeteer
const puppeteer = require("puppeteer");

        let browser = await puppeteer.launch({
            headless: true,
            args: ['--no-sandbox',
            ],
        });

部分网站检测到headless会直接拒访,具体检查和排查如下:
1.UA中含有ChromeHeadless被直接检测到

UA排查方法

2.修改window.navigator.webdriver的值

移除webdriver的值

以上的移除不一定适用于Access Denied问题

其他引用

chrome无头特性隐藏
检测headless无头
无头攻防问题

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容