Pyppeteer常用技巧
绕过检测步骤
from pyppeteer import launcher
launcher.DEFAULT_ARGS.remove("--enable-automation")
from pyppeteer_stealth import stealth
from pyppeteer_stealth import stealth
async def search_page(url,cookie_):
browser = await launch({'headless': False,'dumpio':True, 'autoClose':False})
page = await browser.newPage()
await stealth(page)
await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3542.0 Safari/537.36')
await page.evaluateOnNewDocument('() =>{ Object.defineProperties(navigator,'
'{ webdriver:{ get: () => false } }) }')
await page.setViewport({"width": 1100, "height": 768})
cookie_list = await get_cookie(cookie_)
for cookie in cookie_list:
await page.setCookie(cookie)
await page.goto(url)
await page.waitForXPath('//div[@class="check_box "]')
return page
常用方法
page_text = await page.content()
await page.waitForXPath('//div[@class="check_box "]')
await page.waitForSelector('#authImg')
await page.evaluate('document.querySelector("#select-key:shenqingh").value=""')
await page.type('#select-key:shenqingh', num)
await page.click("#query")
yazhengma = await page.waitForSelector('#authImg')
await yazhengma.screenshot({'path': 'yazhengma.png'})
- 设置cookie, 和selenium设置cookie类似
'''
[{'domain': '.cpquery.cnipa.gov.cn',
'expiry': 2153740843,
'httpOnly': False,
'name': 'UR3ZMlLdcLIE80T',
'path': '/',
'secure': False,
'value': '4ReYPoTfhE8XU8tWBTzIJNqujckzb1ZfkSs3HZNOlhxzOsDfyC8JRlKexOUy.mK9u5bSgRIS8hRnZPIW3C8c_a9YliJfuQX7ZKI7gwK6KGNgnLyKuks2jcwfqYdg5ERFwADXj0gJ6hPvGlO6V2UV_wk_gzqcSOpsBN2jh2kBz5bEIFxfktH5PzKJRnpDBml5u4OoQMRUhzvyVVnDLiSHnqt1I60OhoMrEAuFcjl.eJbal3.cJrnvm9wlRgSz0YRrUw60O2udav7F8PZz3g8qcGBOO76lYR9mVFtJlSNNdewpSDP2G_kEwUlxBVwb65sVHPxRN0C1H.r6qURabLfzzbTpVzZXb8rAvptSmovQttf5YoA'},
{'domain': '.cpquery.cnipa.gov.cn',
'httpOnly': False,
'name': '_gscs_930750436',
'path': '/',
'secure': False,
'value': '38407965zb8ett35|pv:2'},
{'domain': '.cpquery.cnipa.gov.cn',
'httpOnly': False,
'name': 'bg6',
'path': '/',
'secure': False,
'value': '384|A8R2v'},
{'domain': '.cpquery.cnipa.gov.cn',
'httpOnly': False,
'name': 'UR3ZMlLdcLIE83T',
'path': '/',
'secure': False,
'value': '4bg6QmpZtyIgQPzflQesXqaw5Vpns_EpqgO5UM2HwmRPegQCdj847WIMwSm9f.HL.bPxEp0Oab6kHo5v56yQPNb5rEbDoQBuqHWZ8mL8rUU3NIbT6EValIiLcD2DjTSxGBeHwVHM1P9UsYW4fXbtFYtSNRGGx3HLjPu7uT5nVuCyNVTMrQs_QTJhByLyj1bn0LRlrJItt1JgrQ.eEwBAm4Kp.z8akO_uwhobTbLenvVAVxk.kosi_iStsK_5ZjcdIUNKp3kKLUun8TZ_M3PtUTDE..qhL06PgNBZROjfDbDA.kWsLnR1SFHC_fKqeg9DSvvEqU0FBNLcwaSnYpIDe0_jMdpHCakWAE.VpZjQzi39ytpKLVbTO_z0xEaUy133ZzEV'},
{'domain': '.cpquery.cnipa.gov.cn',
'httpOnly': False,
'name': 'JSESSIONID',
'path': '/',
'secure': False,
'value': '8b98d1eba495b3b5712735dcb4d5'},
{'domain': '.cpquery.cnipa.gov.cn',
'httpOnly': False,
'name': 'UR3ZMlLdcLIE83S',
'path': '/',
'secure': False,
'value': 'tiIZjLZOZ9efKrNyHrF9bWq8SkX6mzf3cj7QUhCAMw6nFmofbL_wRL.5nkPFGTUU'},
{'domain': '.cpquery.cnipa.gov.cn',
'httpOnly': False,
'name': '_gscu_930750436',
'path': '/',
'secure': False,
'value': '33768864tauoxr35'},
{'domain': 'cpquery.cnipa.gov.cn',
'expiry': 1953769688,
'httpOnly': False,
'name': 'UR3ZMlLdcLIE80T',
'path': '/',
'secure': False,
'value': '4JgVnsaGMQMBotHJdfL8wemn_KD7CDyGs2KRIL7PVIW7uokGNPMWxAsZR61g4ps2OjOaLJFaiIQu7CFJEPMkj9fVVKscrkOvhigVsgF4bATZQ07NUMmcaXKvhdCm89Kx5vhSyNVDIHSm.Z.is2tS9HwUG6yPrbKR9UrKZ1tJuWMcINxfK7RfN1fcftR7_POcXmQgF4pMY8GpKCd_M3oRBbw3VDYSxPO.NGGK0VOYHoEPhqJqAEENUEztie.ZdOtDaMpPDiEs1Qrh2fhUk_B9N..bf2md5LsfApiaTdOi9LwJ7Esg.i23xuIiW7cw2cLvc_wG'},
{'domain': '.cpquery.cnipa.gov.cn',
'httpOnly': False,
'name': '_gscbrs_930750436',
'path': '/',
'secure': False,
'value': '1'},
{'domain': '.cpquery.cnipa.gov.cn',
'httpOnly': False,
'name': 'UR3ZMlLdcLIE80S',
'path': '/',
'secure': False,
'value': 'bmK.oV43x2p_uorGA2a8RkbLAERicnQcqpl8YMZ1OiH3RL.Gbh4QAOyqLMMSE3Mk'}]
'''
for cookie in cookie_list:
await page.setCookie(cookie)
for i in cookie_list:
bro.add_cookie(i)