Java爬取英雄联盟官网,全英雄皮肤背景图片

  • 1.首先获取全英雄名
  • 2.创建全英雄皮肤收藏的文件夹
  • 3.根据英雄id,和英雄名称,保存进对应的英雄名称文件夹中。
  • 4.以下方法用来测试
  • https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js!!!
  • 5.完整版来咯
  • 6.看成品

1.首先获取全英雄名

去30行Python代码爬取英雄联盟全英雄全皮肤页面,里面有 代码的实现思路,大家可以去看看。以下代码省略了几个步骤,实现了获取116位英雄的皮肤,升序36位英雄皮肤因程序执行太慢并未下载,感兴趣的朋友欢迎私信。

下面这个全英雄名称中,前116位英雄,经过测试以及进行了排序,后36位英雄因为英雄id编号排序跨度较大暂未进行排序,排序完成的结果就是在英雄名称前补全空位即可完成排序。

public static List<String> heroList() {String[] strings = {"黑暗之女 安妮", "狂战士 奥拉夫", "正义巨像 加里奥", "卡牌大师 崔斯特", "德邦总管 赵信", "无畏战车 厄加特", "诡术妖姬 乐芙兰", "猩红收割者 弗拉基米尔", "远古恐惧 费德提克", "正义天使 凯尔","无极剑圣 易", "牛头酋长 阿利斯塔", "符文法师 瑞兹", "亡灵战神 赛恩", "战争女神 希维尔", "众星之子 索拉卡", "迅捷斥候 提莫", "麦林炮手 崔丝塔娜", "祖安怒兽 沃里克", "雪原双子 努努和威朗普","赏金猎人 厄运小姐", "寒冰射手 艾希", "蛮族之王 泰达米尔", "武器大师 贾克斯", "堕落天使 莫甘娜", "时光守护者 基兰", "炼金术士 辛吉德", "痛苦之拥 伊芙琳", "瘟疫之源 图奇", "死亡颂唱者 卡尔萨斯","虚空恐惧 科加斯", "殇之木乃伊 阿木木", "披甲龙龟 拉莫斯", "冰晶凤凰 艾尼维亚", "恶魔小丑 萨科", "祖安狂人 蒙多医生", "琴瑟仙女 娑娜", "虚空行者 卡萨丁", "刀锋舞者 艾瑞莉娅", "风暴之怒 迦娜","海洋之灾 普朗克", "英勇投弹手 库奇", "天启者 卡尔玛", "瓦洛兰之盾 塔里克", "邪恶小法师 维迦"," "," ","巨魔之王 特朗德尔", "诺克萨斯统领 斯维因", "皮城女警 凯特琳", " ", " ", "蒸汽机器人 布里茨", "熔岩巨兽 墨菲特","不祥之刃 卡特琳娜", "永恒梦魇 魔腾", "扭曲树精 茂凯", "荒漠屠夫 雷克顿", "德玛西亚皇子 嘉文四世", "蜘蛛女皇 伊莉丝", "发条魔灵 奥莉安娜", "齐天大圣 孙悟空", "复仇焰魂 布兰德", "盲僧 李青"," "," ","暗夜猎手 薇恩", "机械公敌 兰博", "魔蛇之拥 卡西奥佩娅"," "," ","水晶先锋 斯卡纳", " ","大发明家 黑默丁格","沙漠死神 内瑟斯", "狂野女猎手 奈德丽", "兽灵行者 乌迪尔", "圣锤之毅 波比", "酒桶 古拉加斯","不屈之枪 潘森", "探险家 伊泽瑞尔", "铁铠冥魂 莫德凯撒", "牧魂人 约里克", "离群之刺 阿卡丽", "狂暴之心 凯南", "德玛西亚之力 盖伦", " ", " ","曙光女神 蕾欧娜", "虚空先知 玛尔扎哈", "刀锋之影 泰隆","放逐之刃 锐雯", " ", " ", " ","深渊巨口 克格莫", " ","暮光之眼 慎", "光辉女郎 拉克丝", " ","远古巫灵 泽拉斯", "龙血武姬 希瓦娜", "九尾妖狐 阿狸", "法外狂徒 格雷福斯", "潮汐海灵 菲兹", "不灭狂雷 沃利贝尔","傲之追猎者 雷恩加尔", " ", " ","惩戒之箭 韦鲁斯", "深海泰坦 诺提勒斯", "机械先驱 维克托", "北地之怒 瑟庄妮", "无双剑姬 菲奥娜", "爆破鬼才 吉格斯", " ","仙灵女巫 璐璐", " ","荣耀行刑官 德莱文", "战争之影 赫卡里姆","虚空掠夺者 卡兹克", "诺克萨斯之手 德莱厄斯", " ", " ", " ","未来守护者 杰斯", "冰霜女巫 丽桑卓", " ", " ", " ","皎月女神 黛安娜", " ","德玛西亚之翼 奎因","暗黑元首 辛德拉", " ","铸星龙王 奥瑞利安索尔", " ", " ", " ", " ","影流之镰 凯隐", "暮光星灵 佐伊","荆棘之兴 婕拉", " ","虚空之女 卡莎", " ","星籁歌姬 萨勒芬妮", " ", " ","迷失之牙 纳尔", " ", " ", " ","生化魔人 扎克", " ", " ","疾风剑豪 亚索", " ", " ", " ","虚空之眼 维克兹", " ","岩雀 塔莉垭", "青钢影 卡蜜尔", "弗雷尔卓德之心 布隆","戏命师 烬", "永猎双子 千珏", "暴走萝莉 金克丝", "河流之王 塔姆", "涤魂圣枪 赛娜", "圣枪游侠 卢锡安", "影流之主 劫", "暴怒骑士 克烈", "时间刺客 艾克", "元素女皇 奇亚娜","皮城执法官 蔚", "暗裔剑魔 亚托克斯", "唤潮鲛姬 娜美", "沙漠皇帝 阿兹尔", "魔法猫咪 悠米", "沙漠玫瑰 莎弥拉", "魂锁典狱长 锤石", "海兽祭司 俄洛伊", "虚空遁地兽 雷克塞", "翠神 艾翁","复仇之矛 卡莉丝塔", "星界游神 巴德", "幻翎 洛", "逆羽 霞", "山隐之焰 奥恩", "解脱者 塞拉斯", "万花通灵 妮蔻", "残月之肃 厄斐琉斯", "血港鬼影 派克", "封魔剑魂 永恩","腕豪 瑟提", "含羞蓓蕾 莉莉娅"};List<String> strlist = new ArrayList();for (int i = 0; i < strings.length; i++) {String a = strings[i];strlist.add(a);}
//        System.out.println("英雄数:" + strlist.size() + "  " + strlist);return strlist;}

2.创建全英雄皮肤收藏的文件夹

如果不喜欢此方式生成文件夹的朋友,也可以将此方法加入到下面用来保存皮肤背景图片的循环中。

public static void main(String[] args) throws Exception {List<String> stringList = heroList();for (int i = 0 ; i < stringList.size() ; i++){String fileName = stringList.get(i);File file = new File("C:\\Users\\Administrator\\Pictures\\lol英雄图片\\"+fileName);if (!file.exists()){file.mkdirs();}Thread.sleep(2000);}}

3.根据英雄id,和英雄名称,保存进对应的英雄名称文件夹中。

如果不喜欢此方式生成文件夹的朋友,也可以将此方法加入到下面用来保存皮肤背景图片的循环中。

public static void main(String[] args) throws Exception{for (int kk = 0; kk < 188; kk++) {SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String startTime = df.format(new Date());System.out.println("开始运行时间:"+startTime);int z = kk;List<String> as = heroList();int c = z - 1;for (int ii = 0; ii < as.size(); ii++) {String ste = as.get(c);List<String> stringList = new ArrayList<>();for (int jj = 0; jj < as.size(); jj++) {String sty = String.format("%03d", jj);stringList.add("https://game.gtimg.cn/images/lol/act/img/skin/big" + z + sty + ".jpg");}for (int i = 0; i < stringList.size(); i++) {try {String url = stringList.get(i);URL url1 = new URL(url);URLConnection uc = url1.openConnection();InputStream inputStream = uc.getInputStream();String picrureName = ste + i;FileOutputStream out = new FileOutputStream("C:\\Users\\Administrator\\Pictures\\lol英雄图片\\" + ste + "\\" + picrureName + ".jpg");int j = 0;while ((j = inputStream.read()) != -1) {out.write(j);}inputStream.close();} catch (Exception e) {continue;}}break;}SimpleDateFormat dfs = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String endTime = dfs.format(new Date());System.out.println("程序结束运行时间:"+endTime);long min = dateDiff(startTime,endTime,"yyyy-MM-dd HH:mm:ss");System.out.println("程序运行时间:"+min+" 分钟");System.out.println("保存图片次数:"+kk);System.out.println("                      ");}}

4.以下方法用来测试

https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js!!!

这个地址包含全英雄的英雄ID,英雄名称,其它信息无关紧要。需要转JSON后进行使用。

public static void main(String[] args) throws Exception {}
//https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js
public static void main(String[] args) {//完整版里有完整字符串String a = “[{\"heroId\":\"1\",\"name\":\"\\u9ed1\\u6697\\u4e4b\\u5973\",\"al  ”;List<String> strlist = new ArrayList();List heroList = new ArrayList<>();JSONObject jsonObject = JSONObject.parseObject(a);heroList = (List) jsonObject.get("hero");System.out.println(jsonObject);System.out.println(heroList);for (int i = 0 ; i < heroList.size() ; i++){Hero hero = (Hero) heroList.get(0);String heroId = hero.getHeroId();System.out.println(heroId);System.out.println(heroList.get(0));break;}}
//时间差
public static long dateDiff(String startTime, String endTime, String format) throws Exception {//按照传入的格式生成一个simpledateformate对象SimpleDateFormat sd = new SimpleDateFormat(format);long nd = 1000*24*60*60;//一天的毫秒数long nh = 1000*60*60;//一小时的毫秒数long nm = 1000*60;//一分钟的毫秒数long ns = 1000;//一秒钟的毫秒数long diff;//获得两个时间的毫秒时间差异diff = sd.parse(endTime).getTime() - sd.parse(startTime).getTime();long day = diff/nd;//计算差多少天long hour = diff%nd/nh;//计算差多少小时long min = diff%nd%nh/nm;//计算差多少分钟long sec = diff%nd%nh%nm/ns;//计算差多少秒//输出结果System.out.println("时间相差:"+day+"天"+hour+"小时"+min+"分钟"+sec+"秒。");return min ;}

5.完整版来咯

Java爬取英雄联盟官网,全英雄皮肤背景图片。

6.看成品




Java爬取英雄联盟官网,全英雄皮肤背景图片相关推荐

  1. Python爬虫之简单爬虫之爬取英雄联盟官网的英雄的皮肤

    Python爬虫之简单爬虫之爬取英雄联盟官网的英雄的皮肤 文章目录 Python爬虫之简单爬虫之爬取英雄联盟官网的英雄的皮肤 背景:LOL这款游戏有着大量的玩家,这个游戏里面人们津津乐道的皮肤,每一款 ...

  2. 爬虫实战6:爬取英雄联盟官网五个位置的综合排行榜保存到excel

    申明:资料来源于网络及书本,通过理解.实践.整理成学习笔记. 文章目录 英雄联盟官网 获取一个位置的综合排行榜所有数据(上单为例) 获取所有位置的综合排行榜所有数据 英雄联盟官网 获取一个位置的综合排 ...

  3. Python爬取英雄联盟官网图片

    脚本下载图片预览-草丛三兄弟 #encoding = gbk import re,os,requests,json from selenium import webdriver import ppri ...

  4. Python爬虫之selenium爬取英雄联盟官网英雄皮肤图片下载到本地和保存到数据库

    从英雄联盟皮肤网站的网页源代码中获取不到英雄的皮肤地址 通过selenium可以轻松获取想要的内容 源码展示 from selenium import webdriver from time impo ...

  5. 利用python爬取英雄联盟官网英雄皮肤

    思路: 1.获取JS源代码 2.获取英雄ID 3.拼接完整路径 4.下载的位置 5.下载 import requests import re import json#获取JS源代码 def downl ...

  6. Python爬取英雄联盟官网壁纸源码分享

    import json import re import requests import time def getLOLImages(): header = {'User-Agent':'Mozill ...

  7. 如何用Python瞬间获取LOL官网全英雄皮肤的图片?

    你没有看错 就是爬取LOL官网全英雄皮肤[的图片] 嘿嘿嘿,以为可以有全英雄,全皮肤了? 爬虫实战 用到的模块:requests.re.json 安装:pip isntall requests 首先让 ...

  8. 爬取英雄联盟所有皮肤图片实现千图成像~

    前文 本文主要分为两个部分 一部分是爬虫,这边是选择爬取英雄联盟官网英雄资料中的英雄皮肤图片,如下为新英雄seraphine的页面,包含英雄对应的所有皮肤: 另一部分是图片的合成,先将所有英雄皮肤图片 ...

  9. 【Python爬虫】爬取英雄联盟所有皮肤图片实现千图成像~

    前文 本文主要分为两个部分 一部分是爬虫,这边是选择爬取英雄联盟官网英雄资料中的英雄皮肤图片,如下为新英雄seraphine的页面,包含英雄对应的所有皮肤: 另一部分是图片的合成,先将所有英雄皮肤图片 ...

  10. 如何用Python爬取LOL官网全英雄皮肤

    今天小编带你爬取LOL官网全英雄皮肤的图片 不要失望,也不要难过 接下咱们来讲讲怎么爬取LOL官网 本次案例使用到的模块 import requests import re import json 安 ...

最新文章

  1. linux mint 13 input method of chinese
  2. 索引的使用—— 验证索引提升查询效率 || 避免索引失效 —— 全值匹配 /最左前缀法则/范围查询右边的列,不能使用索引/不要在索引列上进行运算操作/字符串不加单引号,造成索引失效
  3. IPv6环境下路由器支持域名登录
  4. 用柠檬来发电真的可行吗?
  5. maven怎么引入自定义(本地/第三方)jar图文教程
  6. Intellij IDEA 中的 Debug 控制台输出窗口消失
  7. bootstrap学习笔记-(1-初识bootstrap)
  8. QGIS展示三维DEM数据
  9. 测试--插拔寿命测试
  10. wlop一张多少钱_为什么很多人都对wlop有成见?
  11. 俞敏洪老师谈英语单词记忆方法——转
  12. 2019314输入一个日期,输出星期几
  13. jis计算机基础知识讲课,计算机基础知识——中文输入法教学教案.ppt
  14. dobot示教程序ros
  15. 无聊 发个金山词霸,和QQ2013 SP6去除广告方式
  16. linux lha 命令详解
  17. 关于大学的50件事,活个不让自己后悔的大学四年。(摘自MIT blog entry)
  18. 在Proteus中用8×8来实现16×16点阵屏
  19. 万兴pdf编辑解压后打不开_如何使用万兴PDF专家编辑PDF文档?
  20. mysql 查询所有表以及对应的信息

热门文章

  1. 镁光闪存颗粒对照表_内存颗粒型号识别
  2. 君不密则失臣,臣不密则失身,机事不密则害成
  3. 小时候玩过的游戏之八——玻璃弹珠
  4. python h5游戏_记一次游戏H5开发经验
  5. 论文阅读:VoltJockey: Breaching TrustZone by Software-Controlled Voltage Manipulation over
  6. 最好的java代码编辑器_推荐 5 款牛逼的代码编辑器
  7. nero6.0使用教程
  8. 信息检索平台Terrier的使用
  9. 用html和css轻松实现康奈尔笔记(5R笔记)模板
  10. Spring常见问题解决 - Required request body is missing