用LOL英雄图片点缀你的博客

news/2024/10/21 10:15:27/

30203d0607dabb1184a5493a6235ac0a.jpeg

文 | ssw

来源:Python 技术「ID: pythonall」

4945b58855b73a1d5d40c1083165e3f9.jpeg

翻看自己的博客,边听音乐,边看最近发表过哪些文章。发现博文的背景图都已看厌,用了2个月后,再好看的美女也欣赏不来了。

喜新厌旧乃人之常情,我想该换一批图了。

去哪里下载一批高清大图,如何快速给它们分配 url 地址,如何替换原来的一批图(9张)?还别说,这么多要做的事,在 python 加持下,几分钟就搞好了,看到这麻利的速度,笑了😀。

博客地址 http://ssw.fit/

f4d77274f122ee425b3a3e63c79fea4f.jpeg

花费时间最多的反而是挑选9张喜欢的图,选择困难症犯了,曹操说袁绍“好谋无断”,多半也是这病。

8654b685b2e84d64fdc6362b30789a6f.png

LOL英雄图片下载

实现过程很简单,最主要的是找到2个 json 文件

hero_list.js

https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js
0cf2b8a8c2d5048dbfe00c209af318e4.png

单个英雄.js

https://game.gtimg.cn/images/lol/act/img/js/hero/{}.js
c6d3198001b8d5e1dc6e09b601ff9f7b.png

图片链接在 mainImg 里:

9e1a8397f9506ae4f1b2136c9fa17300.png

完整代码:

import requests,json,time,os,reclass LOLHeroSpider:def __init__(self):self.headers = {'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Mobile Safari/537.36'}self.hero_list_url = 'https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js'self.hero_url = 'https://game.gtimg.cn/images/lol/act/img/js/hero/{}.js'self.base_path = os.path.join('d:'+os.path.sep,'英雄联盟')def send_get(self,url):try:resp = requests.get(url,headers = self.headers)assert resp.status_code == 200,'{}请求失败'.format(url)return respexcept Exception as e:print(e)return Nonedef start(self):#获取英雄列表resp = self.send_get(self.hero_list_url)if resp:hero_list_text = resp.texthero_list_dict = json.loads(hero_list_text)self.process_heroes(**hero_list_dict)else:print('英雄列表为空,请检查获取URL:{}'.format(self.hero_list_url))def process_heroes(self,**hero_list_dict):# 获取英雄详细信息for hero in hero_list_dict['hero']:hero_info_url = self.hero_url.format(hero['heroId'])resp= self.send_get(hero_info_url)if resp:hero_info_dict = json.loads(resp.text)self.process_hero(**hero_info_dict)else:print('获取英雄:{}失败,请检查获取URL:{}'.format(hero['name'],self.hero_list_url))def process_hero(self,**hero_info_dict):hero = hero_info_dict['hero']skins = hero_info_dict['skins']for skin in skins:# 获取图片内容if skin['mainImg']:skin_content = self.send_get(skin['mainImg']).contenthero_image_name = '{}.jpg'.format(skin['name'])hero_image_dir = os.path.join(self.base_path, hero['name'] + hero['title'])self.save_image(hero_image_dir,hero_image_name,skin_content)print('hero:{},skins:{}张,处理完成'.format(hero['name'],len(skins)))time.sleep(1)@staticmethoddef save_image(image_dir,image_name,image_content):if not os.path.exists(image_dir):os.makedirs(image_dir)try:hero_image_path = os.path.join(image_dir,re.sub(r'[/|?]','',image_name))with open(hero_image_path, 'wb') as image:image.write(image_content)except Exception as e:print('{}保存失败,错误原因:{}'.format(hero_image_path,e))if __name__ == '__main__':LOLHeroSpider().start()

分配 url 网址

以前介绍过,我建了上传页面,就是方便此类场景

上传页面 http://ssw.fit/upload

83757d307a1bd6fd8c99c1cb15f7c75b.gif

上传好的图片:

b397b150b2ada47b82903b94f1236664.png

替换9张图

修改 vuepress 的 NoteAbstractItem.vue 文件,将图片地址改为新的 url 网址

<div class="draw"><img :src="`http://ssw.fit/free/gd0${imgIndex}.jpg`" alt=""></div>
0882c53cbda24c8fdfd30323a8f0aec3.png

然后打包,提交 git 仓库

npm run build
git add dist
git commit 1
git push

jenkins 进行构建,把打包好的文件上传到腾讯云 linux 服务器上

579ea8df792d3168b485dff4159f59e2.png

这样就更新好了。

小结

文章写起来长,其实操作只要几步。

排版码文字也是一件比较辛苦的事,很少有一气呵成的。有没有自动写文章的机器,把你的想法告诉它,资料都给它,然后它自动写好一篇比较通顺的文章,你只要审审稿,简单修改几处就可以了?很显然,那种写网文的机器还达不到要求,周诰殷盘,佶屈聱牙。

本文是由 Python技术 公众号粉丝 ssw 投稿,欢迎大家继续踊跃投稿!

PS:Python技术交流群(技术交流、摸鱼、白嫖课程为主)又不定时开放了,感兴趣的朋友,可以在下方公号内回复:666,即可进入,一起 100 天计划!

54e83e661153109b84388ed7321edb17.png

老规矩,酱友们还记得么,右下角的 “在看” 点一下,如果感觉文章内容不错的话,记得分享朋友圈让更多的人知道!

4ff290379b81b79bc58d1f77c1804314.gif

神秘礼包获取方式

识别文末二维码,回复:1024


http://www.ppmy.cn/news/306858.html

相关文章

高通开发系列 - 内核升级后音频驱动的开发和调试

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录 背景概述msm8909平台codec框图msm8909内部控件的关系msm8909 数字codec内部处理流程驱动和dts的匹配问题msm8909 pm8909声卡部分的DTS…

联想笔记本电脑Y450A不能开机,电源灯和充电灯亮,其他风扇之类均无反应

这款机器的上市时间是09年6月 您的使用时间应该也不会很长 有可能是因为使用的不是很仔细 或者环境原因导致的 机器内部尘土过多 导致硬件短路 建议您先拔掉电池再用气筒子&#xff08;干净的&#xff09;从通风口吹起 通风口另一端用带潮气的毛巾 或者纸张堵住 记住一定不能用…

ASUS华硕飞行堡垒8笔记本电脑FX506LI10750原装出厂Win10系统1909恢复原厂OEM系统

ASUS华硕飞行堡垒8笔记本电脑FX506LI10750原装出厂Windows10系统1909恢复原厂OEM系统 系统自带所有驱动、办公软件、奥创控制中心等预装软件 链接&#xff1a;https://pan.baidu.com/s/1q1a9uKguIZi2v3rAezP8fA?pwdayjc 提取码&#xff1a;ayjc

ASUS华硕飞行堡垒8笔记本电脑FX506LU10870LI10750原装出厂Windows10系统恢复原厂OEM系统

ASUS华硕飞行堡垒8笔记本电脑FX506LU10870 LI10750原装出厂Windows10系统恢复原厂OEM系统 飞行堡垒8:FX506LH、FX506LI、FX506LU 系统自带所有驱动、办公软件、奥创控制中心等预装软件 链接&#xff1a;https://pan.baidu.com/s/1GnuXFWeOiGX0ZAo7WZsEng?pwdcoge提取码&…

华硕飞行堡垒无线网卡9462黄色感叹号

机器描述&#xff1a;机器是飞行堡垒5&#xff0c;型号为FX86FE 问题描述&#xff1a;正在玩云顶之弈&#xff0c;突然就没用了网络&#xff0c;查看是无线网卡intel wireless 9462 有黄色感叹号。最近几天时不时的也出现这个问题&#xff0c;但是在禁用设备或者重启后得到解决…

ASUS华硕笔记本电脑飞行堡垒8 FX506LH原装出厂系统Winodws10原厂系统

ASUS华硕笔记本电脑飞行堡垒8_FX506LH原装出厂OEM系统Winodws10恢复原厂系统1909 链接&#xff1a;https://pan.baidu.com/s/1pmAT9N2ImZPDKVb1UwXA0A?pwdol7s 提取码&#xff1a;ol7s

设置笔记本电脑华硕飞行堡垒电池的使用模式

我们直接进入主题。 一.找到“开始”&#xff0c;点击“更多应用” 二.找到“华硕管家&#xff08;MyASUS&#xff09;” 三.找到 “自定义”&#xff0c;即可看到 调节电池的模式 最后&#xff0c;可以根据自己的需求&#xff0c;调节即可。 大家还遇到关于飞行堡垒的 什么问题…

华硕飞行堡垒8网络驱动坏了解决方案

把原装固态内存条换到加装的位置即可。