相关文章推荐
纯真的鸵鸟  ·  用户模式和内核模式之间的共享内存-腾讯云开发 ...·  2 年前    · 
任性的紫菜  ·  js数组对象中提取每个对象里的某个值_51C ...·  3 年前    · 
有胆有识的酸菜鱼  ·  android-plugmgr源代码分析 ...·  3 年前    · 
怕老婆的沙滩裤  ·  HTML中的role属性_html ...·  3 年前    · 
Code  ›  在Pyppeteer中正确隐藏window.navigator.webdriver开发者社区
谷歌浏览器 webdriver
https://cloud.tencent.com/developer/article/1490540
悲伤的数据线
2 年前
作者头像
青南
0 篇文章

在Pyppeteer中正确隐藏window.navigator.webdriver

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > 未闻Code > 在Pyppeteer中正确隐藏window.navigator.webdriver

在Pyppeteer中正确隐藏window.navigator.webdriver

作者头像
青南
发布 于 2019-08-20 15:46:04
3.3K 0
发布 于 2019-08-20 15:46:04
举报
摄影:产品经理

厨师:kingname

(文末福利)在我以前的一篇文章: 一日一技:如何正确移除Selenium中window.navigator.webdriver的值 ,我讲到了如何在Selenium启动的Chrome中,通过设置启动参数隐藏 window.navigator.webdriver ,驳斥了网上垃圾文章中流传的使用JavaScript注入的弊端。

由于Selenium启动的Chrome中,有几十个特征可以被识别,所以在爬虫界已经没有以前那么受欢迎了。模拟浏览器的新秀Puppeteer异军突起,逐渐受到了爬虫界的关注。Puppeteer需要使用JavaScript来控制,如果你是用Python,那么就需要使用Pyppeteer.

如果你使用模拟浏览器爬淘宝,你会发现,无论怎么修改参数,Selenium总是可以立刻被识别。但是如果你使用了本文的方法,用Pyppeteer抓取淘宝,你就会发现另外一个广阔的天地。

今天,我们来讲讲如何在Pyppeteer中隐藏 window.navigator.webdriver

首先,我们使用下面的代码,通过Pyppeteer打开浏览器窗口:

import asyncio
from pyppeteer import launch
async def main():
    browser = await launch(executablePath='/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
                           headless=False)
 
推荐文章
纯真的鸵鸟  ·  用户模式和内核模式之间的共享内存-腾讯云开发者社区-腾讯云
2 年前
任性的紫菜  ·  js数组对象中提取每个对象里的某个值_51CTO博客_js获取数组对象的值
3 年前
有胆有识的酸菜鱼  ·  android-plugmgr源代码分析 - 陈哈哈 - 博客园
3 年前
怕老婆的沙滩裤  ·  HTML中的role属性_html role_annip的博客-CSDN博客
3 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号