Python 反爬虫——文本混淆反爬虫

文中案例参考 GitHub项目4 文本混淆反爬虫4.1 图片伪装为文字反爬虫有些文字内容实际是图片伪装的提取图片的内容(图片请求响应结果res.content就是图片的字节数据,可以直接write为图片对象,也可以打开为图片对象,看案例)图片对象使用光学字符识别技术(pytesseract库)从图片中提取文字PyTesseract缺点:只能识别出一些清晰工整的图像中的文字,扭曲的文字或者有其它颜色图片干扰信息时候识别不准确参考案例001(02文件夹中)4.2 CSS偏移反爬虫一般用于
摘要由CSDN通过智能技术生成
文中案例参考 GitHub项目

4 文本混淆反爬虫

4.1 图片伪装为文字反爬虫

  • 有些文字内容实际是图片伪装的
  • 提取图片的内容(图片请求响应结果res.content就是图片的字节数据,可以直接write为图片对象,也可以打开为图片对象,看案例)
  • 图片对象使用光学字符识别技术(pytesseract库)从图片中提取文字
  • PyTesseract缺点:只能识别出一些清晰工整的图像中的文字,扭曲的文字或者有其它颜色图片干扰信息时候识别不准确
  • 参考案例001(02文件夹中)

4.2 CSS偏移反爬虫

  • 一般用于数字显示,源码中有很多数字,用于混淆
  • 网页中显示的出来的内容的位置是固定的,源码中的数字进行偏移覆盖才是最终显示出来的数字
  • 去哪儿网的航班票价就是进行CSS偏移处理过的
  • 前面有数字120 下面有数字002
  • 002通过不同的左右偏移位置覆盖在120的数字上才是最终显示结果
  • 参考图片002

4.3 SVG图形映射反爬虫

  • SVG是一种二维矢量图形格式,放大缩小清晰度保持不变
  • SVG映射反爬虫:前端或者后端里面将文字或者数字映射为对应SVG图形文件
    网页源码中显示的是SVG图形文件,并没有实际的文字或者数字内容
  • 最常用于团购网站商家电话的替换
  • 映射替换有两种方式:
    • 方式1:一个SVG图片代表一个数字或者文字。要显示内容的地方使用SVG图片替代,一般是设置class样式,然后设置背景图片,用SVG图片插到盒子中
    • 方式2:将所有的数字或者文字都放在一张SVG图片上,然后设置为背景图片,然后通过偏移图片的位置显示内容
    • 方式3:将所有的数字或者文字都放在一张SVG图片上,然后设置为背景图片,图片位置不同,SVG图片里面的的数字是可以通过改变xy轴坐标显示的位置的
    • 具体参考图书的P181页,关键是找到映射的规律

4.4 自定义网页字体(常用woff格式字体)反爬虫

  • 自定义的字体格式:woff ttf eot otf

  • 文中的数字使用自定义字体样式进行替代,查看元素数字都是显示的方框或者其它特殊符号

  • 查看元素里面可以数字都有一个class样式,查看该class样式具体内容,只用一个font-family,对应的值就是自定义的字体样式

  • 查看源码,数字是一些特殊编码,特殊编码就是字体文件里面定义的数字对应的编码

  • woff等字体文件请求的网址,可以下载字体文件到本地,然后使用

  • 百度在线字体编辑打开查看:http://fon

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值