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

2020-03-25  本文已影响0人  天山的虫

匿名浏览器

//引用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无头
无头攻防问题

上一篇下一篇

猜你喜欢

热点阅读