python-字体反爬-入门级

目标网站:http://www.porters.vip/confusion/movie.html

目标网站的字体文件不更新可以写死。

源代码中数字变为&#x....就是字体反爬了

import requests
from fontTools.ttLib import TTFont


def spider():
    url = 'http://www.porters.vip/confusion/movie.html'

    # woff_url = 'http://www.porters.vip/confusion/font/movie.woff'
    # resp_content = requests.get(woff_url).content
    # with open('示例7.woff','wb') as f:
    #     f.write(resp_content)
    # fonts = TTFont('示例7.woff')
    # uni_list = fonts.getGlyphOrder()[2:]
    # print(uni_list)    # ['uniE9C7', 'uniF57B', 'uniE7DF', 'uniE339', 'uniE624', 'uniEA16', 'uniF19A', 'uniEE76', 'uniF593', 'uniEFD4']

    # 可用FontCreator软件打开 示例7.woff 即可得到对应关系,得到这个之后,以上程序并无作用了。
    base_fonts_dict = {'uniE9C7':'7', 'uniF57B':'1', 'uniE7DF':'2', 'uniE339':'6', 'uniE624':'9', 'uniEA16':'5', 'uniF19A':'3', 'uniEE76':'0', 'uniF593':'4', 'uniEFD4':'8'}
    base_fonts_dict = {'&#x' + i[0][3:].lower():i[1] for i in base_fonts_dict.items()}
    # print(base_fonts_dict)# {'&#xe9c7': 7, '&#xf57b': 1, '&#xe7df': 2, '&#xe339': 6, '&#xe624': 9, '&#xea16': 5, '&#xf19a': 3, '&#xee76': 0, '&#xf593': 4, '&#xefd4': 8}

    resp = requests.get(url).text
    # 全文替换
    for i in base_fonts_dict.keys():
        resp = resp.replace(i,base_fonts_dict[i])
    print(resp)



spider()
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值