Python爬取王者荣耀全英雄全皮肤图片

    技术2022-07-11  129

    先上效果图

    附上源码

    import requests import pprint import os # 1. 分析目标网页,确定爬取的url路径 base_url = 'https://pvp.qq.com/web201605/js/herolist.json' # herders请求字段,为的是模拟用户的请求 headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36' # user-agent是用户身份的标识,它包含浏览器的名称,版本,操作系统信息,浏览器内核信息 # user-agent是最常见、最起码的反爬字段,可以很好地把我们的代码伪装成浏览器用户 } # 2. 发送请求 --- requests 模拟浏览器发送请求,获取响应数据 response = requests.get(url=base_url,headers=headers) data_list = response.json() #pprint.pprint(data_list) # 3. 解析数据 --- json模块:把json字符串转化成python可交互数据类型 for data in data_list: heroName = data['cname'] #英雄名称 heroId = data['ename'] #英雄的id值 try: heroSkinList = data['skin_name'].split('|') #英雄的所有皮肤名称 except Exception as e: #print(e) # 手动为我们的马超添加skin_name heroSkinList = ['冷晖之枪','幸存者'] # 注意原皮肤在前 print(heroName,heroId,heroSkinList) # 构建皮肤数量的循环 for skin in range(1,len(heroSkinList) + 1): # http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/英雄的id值/英雄的id值-bigskin-皮肤编号.jpg img_url = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/'+str(heroId)+'/'+str(heroId)+'-bigskin-'+str(skin)+'.jpg' #print(img_url) #请求图片数据,因为它是一个二进制数据,所以我们需要调用content获取 img_data = requests.get(url=img_url,headers=headers).content # 4. 保存数据 --- 保存在目标文件夹中 path = '王者荣耀' if not os.path.exists(path): os.mkdir(path) with open('王者荣耀\\'+heroName+"-"+heroSkinList[skin-1]+".jpg",mode='wb') as f: print("正在下载皮肤:",heroName+"-"+heroSkinList[skin-1]) f.write(img_data) f.close()

    创作不易,点个赞吧!!

    版权声明:如无特殊说明,文章均为本站原创,转载请注明出处 本文链接:https://blog.csdn.net/wsad861512140

    Processed: 0.010, SQL: 9