教你解决禁止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

相关文章

Android 12解决push framework.jar无法开机的方法小结

《Android12解决pushframework.jar无法开机的方法小结》:本文主要介绍在Android12中解决pushframework.jar无法开机的方法,包括编译指令、框架层和s... 目录1. android 编译指令1.1 framework层的编译指令1.2 替换framework.ja

SQLyog中DELIMITER执行存储过程时出现前置缩进问题的解决方法

《SQLyog中DELIMITER执行存储过程时出现前置缩进问题的解决方法》在SQLyog中执行存储过程时出现的前置缩进问题,实际上反映了SQLyog对SQL语句解析的一个特殊行为,本文给大家介绍了详... 目录问题根源正确写法示例永久解决方案为什么命令行不受影响?最佳实践建议问题根源SQLyog的语句分

Java NoClassDefFoundError运行时错误分析解决

《JavaNoClassDefFoundError运行时错误分析解决》在Java开发中,NoClassDefFoundError是一种常见的运行时错误,它通常表明Java虚拟机在尝试加载一个类时未能... 目录前言一、问题分析二、报错原因三、解决思路检查类路径配置检查依赖库检查类文件调试类加载器问题四、常见

解决IDEA报错:编码GBK的不可映射字符问题

《解决IDEA报错:编码GBK的不可映射字符问题》:本文主要介绍解决IDEA报错:编码GBK的不可映射字符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录IDEA报错:编码GBK的不可映射字符终端软件问题描述原因分析解决方案方法1:将命令改为方法2:右下jav

MyBatis模糊查询报错:ParserException: not supported.pos 问题解决

《MyBatis模糊查询报错:ParserException:notsupported.pos问题解决》本文主要介绍了MyBatis模糊查询报错:ParserException:notsuppo... 目录问题描述问题根源错误SQL解析逻辑深层原因分析三种解决方案方案一:使用CONCAT函数(推荐)方案二:

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

Spring 中的循环引用问题解决方法

《Spring中的循环引用问题解决方法》:本文主要介绍Spring中的循环引用问题解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录什么是循环引用?循环依赖三级缓存解决循环依赖二级缓存三级缓存本章来聊聊Spring 中的循环引用问题该如何解决。这里聊

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring