(此文章仅为学习讨论,请勿用作商业用途)(此文章仅为学习讨论,请勿用作商业用途)(此文章仅为学习讨论,请勿用作商业用途)
**下午剪辑视频的时候想需要用到一些比较有个性的字体,但是搜罗了一圈要么就是几百元的授权费,要么就是年费下载会员,**

**在我点进了字体的详情页面后,看见了字体预览的功能,如下:**

**突然灵机一动,这会不会是突破口,于是输入了一些字符预览了一下:**

**打开network查看:**

**这个word参数直接就暴露了,字母、数字、符号就是ASCII码,汉字就是gbk。所以试试看在浏览器输入该网址会有什么结果:**

**直接可以下载了?打开看看**

**发现只有word参数的字符有显示,所以嘿嘿嘿(因为gbk2312-80有21886个,故暂不考虑)上代码:**
``` python
import requests
ascii_list=[]
for num in range(1,128):
ascii_list.append(str(hex(num)))
url = f'https://ziti.izihun.com/build/build-font-file.html?font_id=539&words={ascii_list}&format=ttf&hex=1'
url = url.replace("'","").replace(" ","").replace("[","").replace("]","").replace("0x","")
seesion = requests.session()
headers = {
'accept-encoding': 'gzip, deflate, br',
'accept-language': "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
'origin': 'https://izihun.com',
'referer': 'https://izihun.com/',
'sec-fetch-dest': 'font',
'sec-fetch-mode': 'cors',
'sec-fetch-site': 'same-site',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36 Edg/87.0.664.52'
}
r = seesion.get(url=url,headers=headers)
with open('C:\\Users\\Administrator\\Downloads\\1.ttf', 'wb')as f:
f.write(r.content)
print('ok')
```
**创建ascii码列表,去掉多余字符,下载字体(一开始不清楚ASCII需要十六进制,所以可以改变url的hex参数或者和我一样直接生成十六进制)**
*拓展:可以下载gbk编码表,读入并发送给服务器,以此类推很多其他的字体网站也可以用类似原理实现*



hhh可惜这个接口上限是200个字符