无意中发现一个比较好用的个性签名网站,输入内容和颜色即可一键生成图片,
但一个个点太麻烦,因此通过F12查看网站请求可知,点击设计的时候实际上是发送一个带参数的post请求,返回签名图片地址。
以下将该请求复制为cURL(bash)
,再粘贴到curl转换工具网站,选择生成语言为python
,即可自动生成示例源码,
随后通过分析请求中的id1
即为选择不同字体的参数,签名网站的html可以得到不同字体的id1
,使用正则在线工具可以快速得到id+字体名称,将其赋值为python语法的字典或列表即可
点击查看代码
font_dic = {
'330': '黑体',
'329': '楷体',
'331': '仿宋',
'0': '菱心',
'2': '行楷',
'4': '雁翔',
'9': '行楷繁',
'13': '舒同',
'14': '古文篆书',
'15': '繁中变',
'18': '隶书',
'19': '隶书繁',
'20': '行楷',
'23': '大篆体字',
'24': '小篆字体',
'25': '篆书篆体字',
'313': '仿宋体',
'1': '秀英',
'3': '娃娃篆',
'10': '双线',
'11': '空心繁',
'12': '雪峰',
'301': '花蝶',
'302': '彩蝶',
'303': '飞翔',
'304': '萝卜文',
'305': '火柴文',
'306': '太极文',
'307': '黛玉字体',
'308': '嘟嘟字',
'309': '凌波字体',
'310': '清韵字体',
'311': '水波文字',
'317': '萝莉字',
'384': '空心体',
'5': '明星手写体',
'6': '签名字体',
'7': '云溪锦书',
'8': '真人手写',
'16': '手写字',
'17': '行书',
'21': '连笔草书',
'22': '连笔草字',
'312': '猫猫字体',
'342': '情书常规体',
'343': '真人手写',
'344': '倾倒特效手写',
'345': '垂直特效手写',
'346': '水平特效手写',
'347': '三十度角仰望天',
'348': '四十五度角仰望',
'355': '娃娃体',
'356': '手写体',
'357': '静心楷体',
'358': '硬笔行书',
'359': '手写文字',
'360': '肥圆手写',
'363': '钢笔体',
'364': '艺术体',
'365': '硬笔行书',
'367': '丹徒米蒂',
'368': '学生钢笔字',
'369': '学生手写字',
'375': '潦草体',
'378': '钢笔体',
'380': '暴躁字',
'385': '书法字体',
'386': '天真娃娃体',
'387': '太极体',
'388': '钢笔字',
'389': '和楷体',
'390': '手写体',
'391': '灵芝体',
'392': '鼠标体',
'393': '硬草书',
'394': '小丸子',
'395': '大草体字',
'396': '连笔艺术字',
'397': '卡通小浣熊',
'398': '连笔手写字',
'399': '东字体',
'314': '一起去看海',
'315': '一起恋爱',
'316': '万圣节快乐',
'318': '他夏了夏天',
'319': '你最疼爱的人',
'320': '信心相随',
'321': '单翼雪蝶',
'322': '南辞遇蝶',
'323': '卷卷爱红唇',
'324': '后会有期',
'325': '咯咯哒的梦想',
'326': '圈圈泡泡',
'327': '地狱引路人',
'328': '夏天的风',
'332': '安静的美女子',
'333': '小兔闹革命.',
'334': '小肥泡中文',
'335': '幸福四叶草',
'336': '开开的蛋糕',
'337': '恋爱写真',
'338': '恋爱蝴蝶结',
'339': '恬夕别乱',
'340': '恬夕恋夕',
'341': '恰逢其会',
'349': '星心甜甜圈',
'350': '星火爱情',
'351': '星际Cream',
'352': '春田小蜜蜂',
'353': '暮夏何其孽',
'354': '梦中的婚礼',
'361': '玉米荡漾',
'362': '甜菜五道杠',
'366': '绿光森林',
'370': '花俏公主',
'371': '钢笔楷书',
'372': '花里胡哨',
'373': '草莓之心',
'374': '荼蘼花开',
'376': '蝴蝶结云彩',
'377': '蝶恋之樱',
'379': '迪斯尼美丽',
'381': '阿苗笑笑',
'382': '佳丽体',
'383': '马卡龙'
}
由此,便可快速编写获取所有字体的签名图片,并将其保存在本地
示例源码
点击查看代码
import requests
from lxml import etree
from tqdm import tqdm
def get_sign_pic(font_id, font_name,sign_name):
cookies = {
'__yjs_duid': '1_b74cea3b4fb93739478ec10c19a4b43d1669984565565',
}
headers = {
'Accept':
'*/*',
'Accept-Language':
'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
# 'Cookie': '__yjs_duid=1_b74cea3b4fb93739478ec10c19a4b43d1669984565565',
'Origin':
'http://www.yishuzi.com',
'Proxy-Connection':
'keep-alive',
'Referer':
'http://www.yishuzi.com/b/13.htm',
'User-Agent':
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.62',
}
data = {
'id': sign_name,
'zhenbi': '20191123',
'id1': font_id,
'id2': '#FFFFFF',
'id4': '#FFFFFF',
'id6': '#000000',
}
try:
response = requests.post('http://www.yishuzi.com/b/re13.php',
cookies=cookies,
headers=headers,
data=data,
verify=False)
# 使用lxml提取response中的图片链接
tree = etree.HTML(response.content)
img_url = tree.xpath('//img/@src')[0]
# print(img_url)
# 将图片保存到本地
with open(f'imgs/{font_id}-{font_name}.gif', 'wb') as f:
f.write(requests.get(img_url).content)
finally:
return
font_dic = {
'330': '黑体',
'329': '楷体',
'331': '仿宋',
'0': '菱心',
'2': '行楷',
'4': '雁翔',
'9': '行楷繁',
'13': '舒同',
'14': '古文篆书',
'15': '繁中变',
'18': '隶书',
'19': '隶书繁',
'20': '行楷',
'23': '大篆体字',
'24': '小篆字体',
'25': '篆书篆体字',
'313': '仿宋体',
'1': '秀英',
'3': '娃娃篆',
'10': '双线',
'11': '空心繁',
'12': '雪峰',
'301': '花蝶',
'302': '彩蝶',
'303': '飞翔',
'304': '萝卜文',
'305': '火柴文',
'306': '太极文',
'307': '黛玉字体',
'308': '嘟嘟字',
'309': '凌波字体',
'310': '清韵字体',
'311': '水波文字',
'317': '萝莉字',
'384': '空心体',
'5': '明星手写体',
'6': '签名字体',
'7': '云溪锦书',
'8': '真人手写',
'16': '手写字',
'17': '行书',
'21': '连笔草书',
'22': '连笔草字',
'312': '猫猫字体',
'342': '情书常规体',
'343': '真人手写',
'344': '倾倒特效手写',
'345': '垂直特效手写',
'346': '水平特效手写',
'347': '三十度角仰望天',
'348': '四十五度角仰望',
'355': '娃娃体',
'356': '手写体',
'357': '静心楷体',
'358': '硬笔行书',
'359': '手写文字',
'360': '肥圆手写',
'363': '钢笔体',
'364': '艺术体',
'365': '硬笔行书',
'367': '丹徒米蒂',
'368': '学生钢笔字',
'369': '学生手写字',
'375': '潦草体',
'378': '钢笔体',
'380': '暴躁字',
'385': '书法字体',
'386': '天真娃娃体',
'387': '太极体',
'388': '钢笔字',
'389': '和楷体',
'390': '手写体',
'391': '灵芝体',
'392': '鼠标体',
'393': '硬草书',
'394': '小丸子',
'395': '大草体字',
'396': '连笔艺术字',
'397': '卡通小浣熊',
'398': '连笔手写字',
'399': '东字体',
'314': '一起去看海',
'315': '一起恋爱',
'316': '万圣节快乐',
'318': '他夏了夏天',
'319': '你最疼爱的人',
'320': '信心相随',
'321': '单翼雪蝶',
'322': '南辞遇蝶',
'323': '卷卷爱红唇',
'324': '后会有期',
'325': '咯咯哒的梦想',
'326': '圈圈泡泡',
'327': '地狱引路人',
'328': '夏天的风',
'332': '安静的美女子',
'333': '小兔闹革命.',
'334': '小肥泡中文',
'335': '幸福四叶草',
'336': '开开的蛋糕',
'337': '恋爱写真',
'338': '恋爱蝴蝶结',
'339': '恬夕别乱',
'340': '恬夕恋夕',
'341': '恰逢其会',
'349': '星心甜甜圈',
'350': '星火爱情',
'351': '星际Cream',
'352': '春田小蜜蜂',
'353': '暮夏何其孽',
'354': '梦中的婚礼',
'361': '玉米荡漾',
'362': '甜菜五道杠',
'366': '绿光森林',
'370': '花俏公主',
'371': '钢笔楷书',
'372': '花里胡哨',
'373': '草莓之心',
'374': '荼蘼花开',
'376': '蝴蝶结云彩',
'377': '蝶恋之樱',
'379': '迪斯尼美丽',
'381': '阿苗笑笑',
'382': '佳丽体',
'383': '马卡龙'
}
def main():
pbar = tqdm(total=len(font_dic))
# 遍历字体,获取所有字体图片
for font_id, font_name in font_dic.items():
try:
get_sign_pic(font_id, font_name,'徐坤')
except :
print(f'{font_id} : {font_name}')
finally:
# 延时0.1s
# time.sleep(0.1)
pbar.update(1)
pbar.close()
if __name__ == '__main__':
main()
运行完成后便在同级imgs
目录下生成所有字体的图片