获取125种不同签名

无意中发现一个比较好用的个性签名网站,输入内容和颜色即可一键生成图片,
image

但一个个点太麻烦,因此通过F12查看网站请求可知,点击设计的时候实际上是发送一个带参数的post请求,返回签名图片地址。
image

以下将该请求复制为cURL(bash),再粘贴到curl转换工具网站,选择生成语言为python,即可自动生成示例源码,
image

随后通过分析请求中的id1即为选择不同字体的参数,签名网站的html可以得到不同字体的id1,使用正则在线工具可以快速得到id+字体名称,将其赋值为python语法的字典或列表即可
image

点击查看代码
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目录下生成所有字体的图片
image

image

image

posted @ 2022-12-03 12:27  Dapenson  阅读(60)  评论(0编辑  收藏  举报