如何避免Puppeteer被反爬
阿新 • • 發佈:2021-01-07
思路
避免Puppeteer的瀏覽器特徵被檢測
即去掉 “webdriver” in navigator 特徵
方法1
await page.setUserAgent(
"Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.36 Safari/536.5")
await page.evaluateOnNewDocument('() =>{ Object.defineProperties(navigator,'
'{ webdriver:{ get: () => false } }) }')
await page.goto('http://abc.com/')
方法2
await page.goto('http://abc.com/')
await page.evaluate("""
() =>{
Object.defineProperties(navigator,{
webdriver:{
get: () => false
}
})
}
""" )
方法3
browser = await launch({'headless': True, 'args': [
'--disable-extensions',
'--hide-scrollbars',
'--disable-bundled-ppapi-flash',
'--mute-audio',
'--no-sandbox',
'--disable-setuid-sandbox',
'--disable-gpu',
'--disable-web-security' ,
'--disable-infobars',
],
'ignoreDefaultArgs': ["--enable-automation"], #反爬
'devtools': True,
'dumpio': True, })