方法教程 | 如何避开网站的反爬检测

本文介绍了三种方法来避开网站的反爬虫检测:禁用--enable-automation参数,直接在launcher脚本中注释相关参数,以及通过执行JS脚本改变webdriver值。还包含了网络爬虫实战的详细步骤,包括读取URL,发起请求,提取并转换正文为Markdown格式,保存文件,以及爬虫调度器的实现。
摘要由CSDN通过智能技术生成

【解决方法】

      方法一:在导入 launch 之前 把 --enable-automation 禁用 防止监测webdriver


from pyppeteer import launcher
# 在导入 launch 之前 把 --enable-automation 禁用 防止监测webdriver
launcher.AUTOMATION_ARGS.remove("--enable-automation")

这种方法在网上很多博客中都有写,不过我在使用这种方法的时候, 运行报错。


module 'pyppeteer.launcher' has no attribute 'AUTOMATION_ARGS'

 不知道大家运行是不是也是这样。

    方法二:直接在 launcher 脚本中注释掉  --enable-automation 参数

 launcher.py 脚本位置 


(你自己的Python安装路径)\Python37_64\Lib\site-packages\pyppeteer\launcher.py

   

    然后打开脚本,注释掉 --enable-automation ,保存即可。

图片

    

    这种方法是我在方法一的基础上想到的,既然无法在代码中移除该参数,那么就在它的源码中注释掉,哈哈。

    方法三:通过执行 js 脚本,把 webdriver 的值设置为 false,也可以避免被反爬检测。

await page.evaluateOnNewDocument('() =>{ Object.defineProperties(navigator,'        '{ webdriver:{ get: () => false } }) }')

 下面放一段测试代码,亲测确实可行: 


import asyncio
from pyppeteer import launch

url = 'http://www.nhc.gov.cn/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值