教你解决禁止F12、调试Debugger、丑化JS等反爬

2023-10-11 17:50

本文主要是介绍教你解决禁止F12、调试Debugger、丑化JS等反爬,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1

前言

在爬取数据时,有一些网站设置了反爬(禁止F12网页调试Debugger丑化Js),比如下面这几种情况:

1.禁止查看源代码

2.网页调试Debugger

上面禁止查看网页问题,可以先按F12,再访问网站,但是又有网页调试Debugger

经过各种百度之后,可以在浏览器里面关闭Debug调试

这样就点击为蓝色就可以关闭了。

3.丑化JS

通过查看,可以发现数据是异步加载过来,查看数据包(network)时,发现js是被丑化过,无法查看

遇到以上这些反爬,难道就会阻止我们去采集数据了???显然不可能(哈哈哈)

上有政策,下有对策

今天教大家如何用python去解决这些问题,并爬取数据。

2

Python解决上述反爬

1.引入Selenium

本来想通过Reuqest请求数据,奈何数据是异步加载,异步链接也被js丑化了。

这时候我考虑抓包方式,但是很遗憾,无法通过抓包方式获取到异步链接

因此这里采用Selenium方式去爬取数据(后面还有新问题,太坑了,但是都解决了

2.Selenium准备工作

为了在python中使用Selenium,需要进行一些准备工作

安装Selenium库

通过下面命令去安装Selemium库

pip install selenium

下载chromedriver.exe

查看自己对应浏览器(这里使用chrome)版本

在下面这个地址去下载chromedriver.exe

http://chromedriver.storage.googleapis.com/index.html

下载自己浏览器对应版本(我这里选择89)

配置chromedriver.exe

将下载好的文件复制到python安装路径下

通过下面python代码可以查看python安装路径

import sys
print(sys.path)

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=北京')

结果如下:

发现没有获取到数据,原因是网站监测到非法操作,因此开启Debuggger,所以数据没有异步加载过来。

原本应该是这样的

下面需要进行另外操作(关闭Debugger)

4.给Selenium设置代理

设置代理

找到chrome的路径

在cmd(终端)下,进入到该路径

启动代理

chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"

通过上面这个命令启动代理

ip是本机ip(127.0.0.1)

端口是9222

启动之后,自动打开chrome,并等待执行代码

编写代码

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=北京')

这样等待的浏览器就自动加载到数据,成功解决!!

下面请看动图演示

3

总结

1.解决了F12禁止查看网页反爬.

2.解决了网页调试Debugger反爬。

3.Selenium结合代去模拟浏览器请求。

4.本文总结了几种反爬情况,推荐收藏!收藏!收藏!

最后说一声:原创不易,求给个赞、在看、评论

------------- 推荐阅读 -------------

爬虫入门篇

1.今天只分享python、爬虫入门级学习资料

2.以某乎为实战案例,教你用Python爬取手机App数据


3.教你用python爬取『京东』商品数据,原来这么简单!

4.以『赘婿』为实战案例,手把手教会你用python爬取『爱奇艺』视频弹幕


5.python爬取44130条用户观影数据,分析挖掘用户与电影之间的隐藏信息!


6.基金这么赚钱!!编程实现基金从采集到分析通用模板!(白酒为例)


7.我爬取了爬虫岗位薪资,分析后发现爬虫真香


8.竟然如此简单!输入明星名字就可以直接爬取高清图片


9.pyhton爬取爱豆(李易峰)微博评论(附源码)


10.快手解析视频真实链接(爬取快手视频)


11.实战讲解四种不同爬虫解析数据方法,必须掌握!

爬虫框架篇

1.以『B站』为实战案例!手把手教你掌握爬虫必备框架『Scrapy』

2.爬取1907条『课程学习』数据,分析哪类学习资源最受大学生青睐

爬虫反爬篇

1.爬虫遇到反爬机制怎么办? 看看我是如何解决的!


2.python实战破解『梨视频』反爬机制,轻松实现批量视频下载!


3.『异步反爬』别再说自己不会爬取『抖音』视频了!

可视化篇

1.爬取3w条『各种品牌』笔记本电脑数据,统计分析并进行可视化展示!真好看~


2.python爬取7w+『赘婿』弹幕,发现弹幕比剧还精彩!


3.爬取1907条『课程学习』数据,分析哪类学习资源最受大学生青睐


4.python爬取各类基金数据,以『动图可视化』方式展示基金的涨跌情况


5.python爬取『大年初一』热映电影,以『可视化及词云秀』方式带你了解热映电影


6.python爬取淘宝全部『螺蛳粉』数据,看看你真的了解螺蛳粉吗?


7.爬取淘宝热卖商品并可视化分析,看看大家都喜欢买什么!


8.王者荣耀白晶晶皮肤1小时销量突破千万!分析网友评论我发现了原因


9.分析各类基金近一年『日涨幅』流水线动态图!哭了,真是跌妈不认!


10.分析B站《送你一朵小红花》弹幕评论


11.我爬取了爬虫岗位薪资,分析后发现爬虫真香


12.python实现在线微博数据可视化


13.一键查询明星个人信息,并以知识图谱可视化展示

python工具篇

1.教你用python爬虫下载1w+『ppt模板』,再也不用付费去购买啦!


2.python爬取下载m3u8加密视频,原来这么简单!


3.详细实战教程!部署Flask网站+域名访问+免费https证书

4.花一天时间做了一个福利资源网站!免费分享给大家

5.python实现四种出行路线规划(公交、步行、驾车、骑行)


6.35行代码下载任意网页的图片


7.python窃取摄像头照片(摄像头拍照+邮箱发送+打包exe)


8.30行爬虫代码实现中英互译


9.教你搭建一个花卉识别系统(超级简单)


10.一键查询明星个人信息,并以知识图谱可视化展示

这篇关于教你解决禁止F12、调试Debugger、丑化JS等反爬的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/189797

相关文章

解决hive启动时java.net.ConnectException:拒绝连接的问题

《解决hive启动时java.net.ConnectException:拒绝连接的问题》Hadoop集群连接被拒,需检查集群是否启动、关闭防火墙/SELinux、确认安全模式退出,若问题仍存,查看日志... 目录错误发生原因解决方式1.关闭防火墙2.关闭selinux3.启动集群4.检查集群是否正常启动5.

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

解决RocketMQ的幂等性问题

《解决RocketMQ的幂等性问题》重复消费因调用链路长、消息发送超时或消费者故障导致,通过生产者消息查询、Redis缓存及消费者唯一主键可以确保幂等性,避免重复处理,本文主要介绍了解决RocketM... 目录造成重复消费的原因解决方法生产者端消费者端代码实现造成重复消费的原因当系统的调用链路比较长的时

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

java内存泄漏排查过程及解决

《java内存泄漏排查过程及解决》公司某服务内存持续增长,疑似内存泄漏,未触发OOM,排查方法包括检查JVM配置、分析GC执行状态、导出堆内存快照并用IDEAProfiler工具定位大对象及代码... 目录内存泄漏内存问题排查1.查看JVM内存配置2.分析gc是否正常执行3.导出 dump 各种工具分析4.

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1