python简单爬虫指定汉字的笔画动图下载

    技术2022-07-11  94

    python简单爬虫

    指定汉字的笔画动图下载

    分析过程

    打开网址首页http://www.hanzi5.com

    选择一个字,比如“虐”

    查看该汉字动图地址

    右键该汉字动图,选择在新标签页打开 得到该图片的地址 https://www.hanzi5.com/assets/bishun/animation/8650-bishun.gif 这里也可以查看网页代码来得到汉字动图地址 右键汉字动图,选择检查 右侧控制台,显示 同样得到汉字动图地址

    多查看几个动图的地址 “掠”https://www.hanzi5.com/assets/bishun/animation/63a0-bishun.gif “扁”https://www.hanzi5.com/assets/bishun/animation/6241-bishun.gif “龙”https://www.hanzi5.com/assets/bishun/animation/9f99-bishun.gif 猜测不同的部分应该是汉字对应的编码

    确定动图地址不同的部分是什么编码类型(utf-8,unicode,gbk16进制字符) 在控制台js环境输入 ‘\u9f99’ 得到 龙,说明是Unicode编码

    接下来对汉字进行编码,得到所需编码 把9f99提取出来 再将字节型转换为字符型

    将得到的所需编码填入到动图地址中更换,即可得到任意汉字的动图地址

    根据动图地址将图片下载即可

    代码实现

    import requests def get_gif(word): url="https://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("D:/{0}.gif".format(word),'wb') as f: f.write(r.content) if __name__=='__main__': word_list='你好骚啊' for word in word_list: get_gif(word)
    Processed: 0.012, SQL: 9