爬取王者荣耀全皮肤

爬取王者荣耀全皮肤

import requests
from urllib import parse
from urllib import request
import os
import time
import random

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36",
    "Referer": "https://pvp.qq.com/web201605/wallpaper.shtml"
}

# 获取每个英雄皮肤的所有分辨率地址,选择高清大图
def extract_images(data):
    image_urls = []
    for x in range(1, 9):
        image_url = parse.unquote(data['sProdImgNo_%d'%x]).replace("200", "0") # 获取皮肤所有分辨率地址,选择高清大图
        image_urls.append(image_url) 
    return image_urls



def main():
	for x in range(18):
		# 控制page 获取18页的皮肤
		page_url = 'https://apps.game.qq.com/cgi-bin/ams/module/ishow/V1.0/query/workList_inc.cgi?activityId=2735&sVerifyCode=ABCD&sDataType=JSON&iListNum=20&totalpage=0&page={page}&iOrder=0&iSortNumClose=1&iAMSActivityId=51991&_everyRead=true&iTypeId=2&iFlowId=267733&iActId=2735&iModuleId=2735'.format(page=x) 
		resp = requests.get(page_url, headers=headers) 
		# 获取json内容
		result = resp.json() 
		#列表形式存放
		datas = result['List'] 
		for data in datas:
			# 获取每个英雄皮肤的所有分辨率地址
			image_urls = extract_images(data) 
			# 解码皮肤地址 去掉空格
			name = parse.unquote(data['sProdName']).replace("1:1", "").strip() 
			# 创建存放路劲
			dirpath = os.path.join('C:/Users/pactera/Desktop/Test/jp', name) 
			# 判断文件名是否存在
			if not os.path.exists(dirpath):
				os.mkdir(dirpath)
			# 保存图片
			for index, image_url in enumerate(image_urls):
				request.urlretrieve(image_url, os.path.join(dirpath, "%d.jpg" % (index+1)))
				print("%s下载完成!" % image_url)
				# 设置随机休眠时间防止反爬虫
				time.sleep(random.randint(1, 7)) 


if __name__ == '__main__':
    main()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值