1. 程式人生 > 其它 >如何避免Puppeteer被反爬

如何避免Puppeteer被反爬

技術標籤:NLP工程實踐大資料資料探勘爬蟲後端

思路

避免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, })