#导入MD文档图片#教你解决禁止F12调试Debugger丑化JS等反爬

志不强者智不达,言不信者行不果。这篇文章主要讲述#导入MD文档图片#教你解决禁止F12调试Debugger丑化JS等反爬相关的知识,希望能为你提供帮助。
1 前言在爬取数据时,有一些网站设置了反爬(禁止F12、网页调试Debugger、丑化Js),比如下面这几种情况:
1.禁止查看源代码

#导入MD文档图片#教你解决禁止F12调试Debugger丑化JS等反爬

文章图片

#导入MD文档图片#教你解决禁止F12调试Debugger丑化JS等反爬

文章图片

2.网页调试Debugger
上面禁止查看网页问题,可以先按F12,再访问网站,但是又有网页调试Debugger
#导入MD文档图片#教你解决禁止F12调试Debugger丑化JS等反爬

文章图片

经过各种百度之后,可以在浏览器里面关闭Debug调试
#导入MD文档图片#教你解决禁止F12调试Debugger丑化JS等反爬

文章图片

这样就点击为蓝色就可以关闭了。
3.丑化JS
通过查看,可以发现数据是异步加载过来,查看数据包(network)时,发现js是被丑化过,无法查看
#导入MD文档图片#教你解决禁止F12调试Debugger丑化JS等反爬

文章图片

遇到以上这些反爬,难道就会阻止我们去采集数据了???显然不可能(哈哈哈)
上有政策,下有对策
今天教大家如何用python去解决这些问题,并爬取数据。
2 Python解决上述反爬 1.引入Selenium本来想通过Reuqest请求数据,奈何数据是异步加载,异步链接也被js丑化了。
这时候我考虑抓包方式,但是很遗憾,无法通过抓包方式获取到异步链接
#导入MD文档图片#教你解决禁止F12调试Debugger丑化JS等反爬

文章图片

因此这里采用Selenium方式去爬取数据(后面还有新问题,太坑了,但是都解决了)
2.Selenium准备工作为了在python中使用Selenium,需要进行一些准备工作
安装Selenium库
通过下面命令去安装Selemium库
```pip install selenium
![](https://s4.51cto.com/images/blog/202108/02/0b324403ef7c65e571f8d200d1f7c5cb.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)### 下载chromedriver.exe查看自己对应浏览器(这里使用chrome)版本![](https://s4.51cto.com/images/blog/202108/02/e647946d7a4924aaacfacbd5be29134a.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)在下面这个地址去下载chromedriver.exe> http://chromedriver.storage.googleapis.com/index.html![](https://s4.51cto.com/images/blog/202108/02/8dcd07630fad92fa537c6674ad48f35f.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)下载自己浏览器对应版本(我这里选择89)### 配置chromedriver.exe将下载好的文件复制到python安装路径下通过下面python代码可以查看python安装路径```import sys print(sys.path)

#导入MD文档图片#教你解决禁止F12调试Debugger丑化JS等反爬

文章图片

#导入MD文档图片#教你解决禁止F12调试Debugger丑化JS等反爬

文章图片

3.Selenium请求数据
"""导入selenium库""" from selenium import webdriver driver = webdriver.Chrome() """未将chromedriver.ex复制到python路径下,需要这样写""" #driver = webdriver.Chrome(executable_path="chromedriver.exe绝对路径") driver.get(\'https://www.aqistudy.cn/historydata/daydata.php?city=北京\')

结果如下:
#导入MD文档图片#教你解决禁止F12调试Debugger丑化JS等反爬

文章图片

发现没有获取到数据,原因是网站监测到非法操作,因此开启Debuggger,所以数据没有异步加载过来。
原本应该是这样的
#导入MD文档图片#教你解决禁止F12调试Debugger丑化JS等反爬

文章图片

下面需要进行另外操作(关闭Debugger)
4.给Selenium设置代理 设置代理
找到chrome的路径
#导入MD文档图片#教你解决禁止F12调试Debugger丑化JS等反爬

文章图片

在cmd(终端)下,进入到该路径
#导入MD文档图片#教你解决禁止F12调试Debugger丑化JS等反爬

文章图片

启动代理
通过上面这个命令启动代理
ip是本机ip(127.0.0.1)
端口是9222
启动之后,自动打开chrome,并等待执行代码
#导入MD文档图片#教你解决禁止F12调试Debugger丑化JS等反爬

文章图片

编写代码
from selenium import webdriver option = webdriver.ChromeOptions() option.add_experimental_option(\'debuggerAddress\',\'127.0.0.1:9222\') driver = webdriver.Chrome(executable_path="C:/Users/Administrator/Anaconda3/envs/lyc36/chromedriver.exe",chrome_options=option) driver.get(\'https://www.aqistudy.cn/historydata/daydata.php?city=北京\')

#导入MD文档图片#教你解决禁止F12调试Debugger丑化JS等反爬

文章图片

这样等待的浏览器就自动加载到数据,成功解决!!
下面请看动图演示
#导入MD文档图片#教你解决禁止F12调试Debugger丑化JS等反爬

文章图片

3 总结1.解决了F12禁止查看网页反爬.
2.解决了网页调试Debugger反爬。
3.Selenium结合代理去模拟浏览器请求。
4.本文总结了几种反爬情况,推荐收藏!收藏!收藏!
【#导入MD文档图片#教你解决禁止F12调试Debugger丑化JS等反爬】最后说一声:原创不易,求给个赞!

    推荐阅读