[python爬虫实例]批量下载荣耀皮肤
Posted 是璇子鸭
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[python爬虫实例]批量下载荣耀皮肤相关的知识,希望对你有一定的参考价值。
完整代码
- 以每张图片含7种可选尺寸为线索
import requests # pip install requests
import re
import urllib.parse
from urllib import request
print('[2]1024*768\\t\\t[3]1280x720\\t\\t[4]1280x1024\\t\\t[5]1440x900\\t\\t[6]11920x1080\\t\\t[7]1920x1200\\t\\t[8]1920x1440\\t\\t')
size = input('请在以上尺寸中选择一项并输入括号内数字')
# 八种尺寸
# requests库 拿到页面源代码
# 获取图片地址
# 使用ulretrieve拿下图片
# 爬数据 最好的方法是一个url地址返回所有所需数据
for x in range(25):
url = 'https://apps.game.qq.com/cgi-bin/ams/module/ishow/V1.0/query/workList_inc.cgi?activityId=2735&sVerifyCode=ABCD&sDataType=JSON&iListNum=4&totalpage=0&page=' + str(x) + '&iOrder=0&iSortNumClose=1&jsoncallback=jQuery171021125452438458137_1625972205037&iAMSActivityId=51991&_everyRead=true&iTypeId=1&iFlowId=267733&iActId=2735&iModuleId=2735&_=1625972205095'
# print(url)
response = requests.get(url)
print(response.text)
data = response.content.decode('utf-8') #二进制 手动解码
imgSize = {'2':'sProdImgNo_2', '3':'sProdImgNo_3', '4':'sProdImgNo_4', '5':'sProdImgNo_5', '6':'sProdImgNo_6', '7':'sProdImgNo_7', '8':'sProdImgNo_8'}
# 获取所有指定尺寸的地址
sizeList = re.findall('"'+imgSize[size]+'":"(.*?)"',data)#http%3A%2F%2Fshp%2Eqpic%2Ecn%2Fishow%2F2735070109%2F1625101443%5F84828260%5F32124%5FsProdImgNo%5F2%2Ejpg%2F200
#获取所有图片的名字
nameList = re.findall('"sProdName":"(.*?)"',data)
# print(sizeList) 列表
for x in range(0,len(sizeList)):
imgurl = urllib.parse.unquote(sizeList[x]).replace('/200', '/0') #对图片地址解码并保存
# print(imgur1)
imgName = urllib.parse.unquote(nameList[x]) # 对图片名字解码并保存
print('正在下载' + imgName + 'jpg')
request.urlretrieve(imgurl, 'king/'+imgName+'.jpg') #king文件夹需先手动添加
request.urlcleanup() #清除缓存
print(imgName + '.jpg下载完毕')
以上是关于[python爬虫实例]批量下载荣耀皮肤的主要内容,如果未能解决你的问题,请参考以下文章
Python爬虫实战,requests模块,Python实现抓取王者荣耀全套皮肤