先看效果:
1.姓名准备
将姓名存放到D:/names.txt文件内,用','分隔。
2.笔顺GIF动画下载
运行如下程序,将采集到的gif笔顺动画存放到姓名对应文件夹内:
import os
import requests
from docx import Document
def get_gif(word, index, folder_path):
url="http://www.hanzi5.com/assets/bishun/animation/"
gif_name=word.encode('unicode_escape')[-4:].decode('ascii')+"-bishun.gif"
r = requests.get(url + gif_name)
print("正在下载" + word + "的笔画动图")
with open(os.path.join(folder_path, "{0}_{1}.gif".format(word, index)), 'wb') as f:
f.write(r.content)
if __name__ == '__main__':
file_path = 'D:/names.txt' # 修改文件路径
with open(file_path, 'r', encoding='utf-8') as file:
names = file.read().split(',')
output_folder = 'D:/中八班' # 修改输出文件夹路径
os.makedirs(output_folder, exist_ok=True)
doc = Document()
for name in names:
name_folder = os.path.join(output_folder, name)
os.makedirs(name_folder, exist_ok=True)
name_chars = list(name.strip())
for index, char in enumerate(name_chars):
get_gif(char, index, name_folder)
doc.add_paragraph(char)
doc.add_picture(os.path.join(name_folder, "{0}_{1}.gif".format(char, index)))
doc.add_page_break()
doc.save(os.path.join(output_folder, 'names.docx')) # 修改保存路径
3.笔顺字帖PNG安姓名存放到word内。
import os
import requests
from docx import Document
def get_png(word, index):
url = "http://www.hanzi5.com/assets/bishun/stroke/"
gif_name = word.encode('unicode_escape')[-4:].decode('ascii') + "-fenbu.png"
r = requests.get(url + gif_name)
print("正在下载" + word + "的笔画图片")
with open("D:/{0}_{1}.png".format(word, index), 'wb') as f:
f.write(r.content)
if __name__ == '__main__':
file_path = 'D:/names.txt' # 修改文件路径
with open(file_path, 'r', encoding='utf-8') as file:
names = file.read().split(',')
# png存到word中
doc = Document()
for name in names:
name_chars = list(name.strip())
for index, char in enumerate(name_chars):
get_png(char, index)
doc.add_paragraph(char)
doc.add_picture("D:/{0}_{1}.png".format(char, index))
doc.add_page_break()
doc.save('D:/names.docx') # 修改保存路径