Python代码爬取王者荣耀全英雄皮肤

   日期:2024-12-26    作者:jx90v 移动:http://ljhr2012.riyuangf.com/mobile/quote/33398.html

王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了。我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,使用Python代码即可完成。

Python代码爬取王者荣耀全英雄皮肤

爬取皮肤本身并不难,难点在于分析,我们首先得得到皮肤图片的url地址,话不多说,我们马上来到王者荣耀的官网: 王者荣耀官方网站-腾讯游戏 (qq.com)

首先我们创建一个Python文件,然后导入os和requests模块。


from queue import Queuefrom urllib import parse,requestfrom Reptile import Requestsimport os # 创建文件夹模块import threadingq = Queue(22)
url = 'https://apps.game.qq.com/cgi-bin/ams/module/ishow/V1.0/query/workList_inc.cgi'
def url_json_get(p): # 获取图片url data = f''' activityId: 2735 sVerifyCode: ABCD sDataType: JSON iListNum: 20 totalpage: 0 page: {p} iOrder: 0 iSortNumClose: 1 iAMSActivityId: 51991 _everyRead: true iTypeId: 2 iFlowId: 267733 iActId: 2735 iModuleId: 2735 _: 1663592877298 ''' html = Requests.Requests.get(url, params=data) for i in html.json()['List']: image_name = i['sProdName'] # 获取名字 image_name = parse.unquote(image_name) # 解析名称 for j in range(2, 9): # 获取2-8的图片链接 url_data = parse.unquote(i[f'sProdImgNo_{j}']).replace('jpg/200', 'jpg/0') # 解析网址 q.put([image_name, url_data]) # 放置到队列中 print(image_name, url_data)

def save_image(): while True: # 一直拿数据 print(f'目前队列数量{q.qsize()}') try: data = q.get(timeout=15) # 获取队列中的一个数据 except q.queue.Empty: break path = os.path.join('王者荣耀图片', data[0]) # 创建文件夹 try: os.makedirs(path) except: pass path = os.path.join(path, data[1].split('/')[-2]) # 拼接文件名称和文件夹路径 request.urlretrieve(data[1],path) #保存 print(f"{data[1].split('/')[-2]}保存成功") # 图片保存的位置和名称

for page in range(10): # 生产者 30个 一个人负责一个页面 t = threading.Thread(target=url_json_get, args=(page,)) t.start()
for page in range(20): # 20个消费者 用来保存图片 t = threading.Thread(target=save_image) t.start()

爬取效果:

爬虫是非常有趣的,因为它非常直观,视觉冲击感强,写出来也很有成就感,爬虫虽然强大,但千万不能随意爬取隐私信息。



特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号