文章目录

  • 1.网页分析
  • 2.完整代码
  • 3.效果
  • 4. 温馨提示

1.网页分析

1.1 url:https://www.shixiseng.com/interns?keyword=python&page=1&city=%E5%85%A8%E5%9B%BD&type=intern
1.2 分析网页内容:


点进去的效果


拼接这个网址可以下载一个文件:https://www.shixiseng.com/interns/iconfonts/file?rand=0.7558352854425494

得到一个file文件 修改文件路径为ttf 用软件fontcreator打开 发现就是里面对应的字体 找其对应关系

ttf文件转化成xml文件进行分析 cmap是关键 原来是unicode码

unicode解码 验证了只要把所有秘钥解出来就行了

2.完整代码


from fontTools.ttLib import TTFont
from lxml import etree# 第1步:获取html,且存为html文件以便后面研究使用# 第2步:下载html配套的ttf文件# 第3步:提取ttf中摄影的数据
font = TTFont("./sxs.ttf")
cmap = font.get("cmap").getBestCmap()
# print(cmap)
ttf_dict = dict()
for k, v in cmap.items():# print(k, v)  # 原样数据# print(hex(k), v)  # 转换为十六进制# print(v[3:])if v[3:]:# 1. 提取# print(hex(k), "\\u00" + v[3:] if len(v[3:]) == 2 else "\\u" + v[3:])# 2. 转换为真正的字,因为要转化为unicode解码格式 前面要加\u 后补四个数 没有这么多补零content = "\\u00" + v[3:] if len(v[3:]) == 2 else "\\u" + v[3:]# 打印unicode码# print(content)# 这是uincode解码解出unicode所代表的字real_content = content.encode('utf-8').decode('unicode_escape')# 打印十六进制和解出来的码# print(hex(k), real_content)# # 3. 替换kk_hex = hex(k)# 网页返回的字体是以&#x开头  ,换成以这个开头,下面代码就是直接替换real_k = k_hex.replace("0x", "&#x")# print(real_k, real_content)# 4. 封装为字典ttf_dict[real_k] = real_contentprint("解析后:", ttf_dict)# 第4步:对下载的实习憎文件(即HTML内容)进行替换
with open("sxs.html", "r",encoding="utf-8") as f:html = f.read()for k, v in ttf_dict.items():html = html.replace(k, v)# print("替换之后的HTML:")# print(html)# 第5步:使用xpath提取想要的数据
html = etree.HTML(html)
li_list = html.xpath("//div[@class='intern-wrap intern-item']")
# print(li_list)
for li in li_list:title = "".join(li.xpath(".//div[@class='f-l intern-detail__job']//a/text()")[0].split())price = "".join(li.xpath(".//div[@class='f-l intern-detail__job']//span[@class='day font']/text()")[0].split())print(title, price)

3.效果

4. 温馨提示

每次网页更新都会生成不一样的ttf文件,里面的密钥都会生成新的十六进制内容, 里面的内容每次都不一样

python爬虫字体反爬实习僧相关推荐

  1. Python爬虫-字体反爬-猫眼国内票房榜

    偶然间知道到了字体反爬这个东西, 所以决定了解一下. 目标: https://maoyan.com/board/1 问题:类似下图中的票房数字无法获取, 直接复制粘贴的话会显示 □ 等无法识别的字符, ...

  2. 16.网络爬虫—字体反爬(实战演示)

    网络爬虫-字体反爬 一·字体反爬原理 二·字体反爬模块Fonttools TTF文件 三·FontCreator 14.0.0.2790 FontCreatorPortable下载与安装 四·实战演示 ...

  3. python爬虫反爬策略_抖音字体反爬,爬虫字体反爬策略——每周一个爬虫小教程系列...

    在B站上看到一个关于抖音字体反爬的视频,看完之后,精神抖擞,不禁感觉,我又行了,于是在模拟器上下载了一个抖音,打开了我尘封已久的抖音号. 可以看见显示的数字是正常的,但是查看源码就是错误的. 既然是字 ...

  4. 爬虫 字体反爬分析(1) 人人车 -- 含源码

    严重声明:本文仅用于学习交流,不得用于商业用途,同时希望大家遵循robots协议,维护网络和谐. 本猿最近在逛一些网站的时间.在打开浏览器的f12查看人家前端代码咋写的时候,经常会发现就是页面上显示的 ...

  5. python 破解字体反爬 (一)

    爬取一些网站的信息时,偶尔会碰到这样一种情况:网页浏览显示是正常的,用python爬取下来是乱码,F12用开发者模式查看网页源代码也是乱码.这种一般是网站设置了字体反爬 这里我们以58同城为例: 点击 ...

  6. python ttfont_58 字体反爬攻略 python3

    1.下载安装包 pip install fontTools 2.下载查看工具FontCreator 百度后一路傻瓜式安装即可 3.反爬虫机制 网页上看见的 后台源代码里面的 从上面可以看出,生这个字变 ...

  7. [585]爬虫|字体反爬

    文章目录 1.目标网站 2.反爬虫机制 3.解决 4.上代码 字体解密相关资源 总结 目前已知的几个字体反爬的网站是猫眼,汽车之家,天眼查,起点中文网等等. 本文用到的第三方库:fontTools 安 ...

  8. python 破解字体反爬 (二)

    上一篇我介绍了破解58同城的字体反爬 https://blog.csdn.net/BigBoy_Coder/article/details/103239672 中间遗漏了几个细节,在这边文章我做一下补 ...

  9. python爬虫常见反爬措施_爬虫常见的反爬措施有哪些

    爬虫常见的反爬措施有三种: 1.header头部信息 解决方法: 加User-Agent值: 如果不加header头,部分网站服务器判断不到用户的访问来源,所以会返回一个404错误来告知你是一个爬虫, ...

  10. python爬虫基本反爬

    一 最基本的User-Agentyan验证 如果通过程序向目标网站发送请求且不设置任何请求参数,服务器得到请求会识别为非人为通过浏览器请求,这种情况下大可能会被浏览器拒绝请求.(请求状态码非200,服 ...

最新文章

  1. 无线信标功能调试-2021-3-9-HALL检测与主控接口
  2. python词云图代码示例 无jieba_【词云图】如何用python的第三方库jieba和wordcloud画词云图...
  3. 科技战疫丨SENSORO灵思智能安全服务助力疫情防控
  4. JQuery 使用笔记 2013.09.05
  5. Python 100道题深入理解
  6. 华为推送服务(Push)
  7. 计算机组装需要注意什么东西,自己组装电脑需注意事项图文详情
  8. 央行降准对股市的影响利好还是利空?
  9. 1004 成绩排名 (20 分)
  10. html使背景图片毛玻璃效果,vue实现毛玻璃背景图片效果
  11. Ubuntu 18.04 服务器版安装桌面及软件
  12. oracle查看所有表信息和字段信息以及注释信息等
  13. 计算机教师专业发展规划,教师个人专业发展三年规划(2020-2023)
  14. 视频转换成flv注意事项
  15. 使用scp时记住密码,不需要每次都输入密码
  16. TLM通信(transaction level modle)
  17. 手写数字识别问题(2)——利用matlab搭建GUI界面
  18. 豌豆荚取应用信息Api
  19. 主成分分析碎石图_用R软件包ade4做主成分分析图(PCA)
  20. python tts 保存wav_C#文本转语音并保存wav和MP3文件

热门文章

  1. 我在华为工作十年的感悟
  2. FILEBEAT采集多个目录下日志
  3. react 树形结构递归方法
  4. 读研究生需要交多少学费?
  5. 小程序 蓝牙连接(出现的问题和一些解决方法)
  6. CentOS安装sox音频处理器
  7. iOS内购(IAP)自动续订订阅类型服务端总结
  8. 闯关H5小游戏制作推荐,教你快速上手TOM闯关游戏H5
  9. 自动驾驶基础知识(二)——术语中英文对照
  10. php thrift 编译,Thrift 源码编译