前段时间在看css反爬的时候,发现很多网站都做了css反爬,比如,设置字体反爬的(58同城租房版块,实习僧招聘https://www.shixiseng.com/等)设置雪碧图反爬的(自如租房http://gz.ziroom.com/). 还有一个网站本身是没有其他反爬措施的,只是设置了字体反爬,但是这个网站的反爬就有些扯淡,http://www.qiwen007.com/,我们随便点开一个文章,并打开开发者工具 其中的文字并不是像其他字体反爬一样,是将某些文字转为了Unicode显示在源码中的…
需求: 中国空气质量在线监测分析平台是一个收录全国各大城市天气数据的网站,包括温度.湿度.PM 2.5.AQI 等数据,链接为:https://www.aqistudy.cn/html/city_detail.html,网站显示为: 一连串的分析 该网站所有的空气质量数据都是基于图表进行显示的,并且都是触发鼠标滑动或者点动后才会显示某点的数据,所以如果基于selenium进行数据爬取很吃力,因此考虑采用requests模块进行数据爬取. 首先要找到空气质量数据所在的数据包: 使用抓包工具抓取,经…
目录 利用字体 反爬原理 应对措施 难点: 利用背景 反爬原理 应对措施 利用伪类 反爬原理 应对措施 利用元素定位 反爬原理 应对措施 利用字符切割 反爬原理 应对措施 利用字体 反爬原理 反爬原理: 1.主要利用font-family属性,例如设置为my-font 2.在HTML里面不常见(不可读)的unicode 3.在CSS字体(my-font)中将其映射到常见(可读)到字体,例如数字 4.爬虫在抓取数据的时候只能抓到unicode,而不是真实的数据 应对措施 1.下载woff字体文件,…
使用selenium进行自动化的时候,如csdn登录时可能会遇到检测反爬,从而需要验证       1. 反爬 有时候,我们利用 Selenium 自动化爬取某些网站时,极有可能会遭遇反爬. 实际上,我们使用默认的方式初始化 WebDriver 打开一个网站,下面这段 JS 代码永远为 true,而手动打开目标网站的话,则为:undefined.       # 通过这段 JS 脚本区分是爬虫还是人工操作 window.navigator.webdriver       稍微有一点反爬经验的工程…
.NET产品源码保护产生的背景: .NET源码加密方案支持C#及VB.NET等语言开发的ASP.NET及WINFORM应用.利用.NET支持托管代码与非托管代码共存的特性,将C#代码经过处理放于非托管代码中,防止通过常规方式反编译DLL,能有效保护.NET产品版权,防止反编译破解.      市面上的混淆加密工具对.NET源码保护的效果天差地别,很多网上下到的混淆工具破解版对.NET源码混淆保护的效果通常都不行(能找到对应的反混淆工具进行脱壳),而保护效果较好的混淆工具呢,收费比较高昂且也没有破…
前言 本文意在记录,在爬虫过程中,我首次遇到Protobuf时的一系列问题和解决问题的思路. 文章编写遵循当时工作的思路,优点:非常详细,缺点:文字冗长,描述不准确 protobuf用在前后端传输,在一定程度节约了带宽,也为爬虫工程师增加了工作量. 遇见Protobuf 一拿到网站,F12查看是否有相关数据的请求接口 ok! 接口找到了,看下请求参数吧! emmm~~ 为啥请求参数是乱码? 平时见着的都是这个样子滴?可以直接看到参数! 哎,咱们这初出茅庐的菜鸟,乖乖搜搜,看看有没有前辈们写过相关…
今天准备爬取网页时,遇到『JS逆向AES加密』反爬.比如这样的: 在发送请求获取数据时,需要用到参数params和encSecKey,但是这两个参数经过JS逆向AES加密而来. 既然遇到了这个情况,那么辰哥就教大家如何去解决这类反爬(JS逆向AES加密) 01 网页分析 在开始分析JS逆向AES加密之前,先简单介绍一下要爬取的内容:下载某抑云音乐.其中获取歌曲的真实播放地址m4a的过程涉及到JS逆向AES加密. 点击播放,在浏览器中查看抓取到的数据包,如下图所示: 查看响应数据: 可以看到在ur…
本文借鉴了@平胸小仙女的知乎回复 https://www.zhihu.com/question/36081767 写在前面: 文章有点长,操作有点复杂,需要代码的直接去文末即可.想要学习的需要有点耐心.当我理清所有逻辑后,我抑郁的(震惊的)发现,只需要改下歌曲ID就可以爬取其他任意歌曲的评论了!生成的TXT文件在程序同一目录. 有基础的可能觉得我比较啰嗦,因为我写博客一是为了记录下知识点,在遗忘的时候可以查看回顾下.二是因为我学编程的时候,搜到的很多帖子都是半残的,有些人是为了引流到自己的公众号…
首先:看看运行结果效果如何! 1. 实现思路 小编基本实现思路如下: 利用js逆向模拟请求得到电影评分的页面(就是猫眼电影的评分信息并不是我们上述看到的那个页面上,应该它的实现是在一个页面上插入另外一个页面上的一些信息). 我们看一下上述这个网址的请求方式以及请求参数. 显然这个signKey 进行了加密处理.(下面请求第二点讲解怎样模拟这个请求) 2.通过上述模拟请求,我们最终可以得到这个评分数据,只不过看到评分数据是利用了字体加密,所以看到的是一系列 \u 开头的字符编码.如下: 第1点处理…
C语言趣味程序设计编程百例精解 C/C++语言经典.实用.趣味程序设计编程百例精解(1)  https://wenku.baidu.com/view/b9f683c08bd63186bcebbc3c.html https://blog.csdn.net/nigulasi_dawei/article/details/72795786 1.绘制余弦曲线 在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线 *问题分析与算法设计 如果在程序中使用数组,这个问题十分简单.但若规定不能使用数组,问题…