前言:
今天你们对“jslol”大致比较注意,大家都需要分析一些“jslol”的相关内容。那么小编也在网络上汇集了一些对于“jslol””的相关资讯,希望你们能喜欢,咱们一起来学习一下吧!文 | ssw
来源:Python 技术
翻看自己的博客,边听音乐,边看最近发表过哪些文章。发现博文的背景图都已看厌,用了2个月后,再好看的美女也欣赏不来了。
喜新厌旧乃人之常情,我想该换一批图了。
去哪里下载一批高清大图,如何快速给它们分配 url 地址,如何替换原来的一批图(9张)?还别说,这么多要做的事,在 python 加持下,几分钟就搞好了,看到这麻利的速度,笑了。
博客地址
花费时间最多的反而是挑选9张喜欢的图,选择困难症犯了,曹操说袁绍“好谋无断”,多半也是这病。
LOL英雄图片下载
实现过程很简单,最主要的是找到2个 json 文件
hero_list.js
单个英雄.js
{}.js
图片链接在 mainImg 里:
完整代码:
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 = '; self.hero_url = '{}.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 resp except Exception as e: print(e) return None def start(self): #获取英雄列表 resp = self.send_get(self.hero_list_url) if resp: hero_list_text = resp.text hero_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']).content hero_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) @staticmethod def 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 网址
以前介绍过,我建了上传页面,就是方便此类场景
上传页面
上传好的图片:
替换9张图
修改 vuepress 的 NoteAbstractItem.vue 文件,将图片地址改为新的 url 网址
<div class="draw"><img :src="`{imgIndex}.jpg`" alt=""></div>
然后打包,提交 git 仓库
npm run buildgit add distgit commit 1git push
jenkins 进行构建,把打包好的文件上传到腾讯云 linux 服务器上
这样就更新好了。
小结
文章写起来长,其实操作只要几步。
排版码文字也是一件比较辛苦的事,很少有一气呵成的。有没有自动写文章的机器,把你的想法告诉它,资料都给它,然后它自动写好一篇比较通顺的文章,你只要审审稿,简单修改几处就可以了?很显然,那种写网文的机器还达不到要求,周诰殷盘,佶屈聱牙。
标签: #jslol