鱼C论坛

 找回密码
 立即注册
楼主: wildpants

[作品展示] 简单爬虫,爬取王者荣耀英雄皮肤

  [复制链接]
发表于 2020-3-25 11:23:38 | 显示全部楼层
观摩大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-25 11:32:25 | 显示全部楼层
学习~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-25 13:33:15 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-25 13:40:15 | 显示全部楼层
我要看,别隐藏!变!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-25 14:06:15 | 显示全部楼层
666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-25 17:50:04 From FishC Mobile | 显示全部楼层
看一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-25 23:02:02 From FishC Mobile | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-25 23:42:32 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-26 01:24:23 From FishC Mobile | 显示全部楼层
6666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-26 01:24:53 From FishC Mobile | 显示全部楼层
666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-26 08:43:12 From FishC Mobile | 显示全部楼层
哈哈
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-26 09:58:29 | 显示全部楼层
研究研究
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-26 21:46:26 From FishC Mobile | 显示全部楼层
这个有什么用啊,哪位大神解释一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-27 11:30:57 | 显示全部楼层
蒋蒋蜀黍 发表于 2020-3-26 21:46
这个有什么用啊,哪位大神解释一下

图片爬下来好看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-27 12:08:45 From FishC Mobile | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-27 17:26:01 From FishC Mobile | 显示全部楼层
厉害厉害
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-27 22:17:45 | 显示全部楼层
因为前五个英雄不在静态html里,需要获取json


import requests
import time
import json
from lxml import etree
from string import digits

base_url = 'https://pvp.qq.com/web201605/js/herolist.json'
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36"
}
response = requests.get(base_url, headers = headers)
data_str = response.text
data_list = json.loads(data_str)

for i in data_list:
    ename = i['ename']
    url = 'https://pvp.qq.com/web201605/herodetail/' + str(ename) + '.shtml'



    response = requests.get(url, headers=headers)
    response.encoding = "gbk"
    html = etree.HTML(response.text)

    hero = html.xpath('//div[@class="crumb"]/label/text()')
    skin_names = html.xpath('//div[@class="pic-pf"]/ul[@class="pic-pf-list pic-pf-list3"]/@data-imgname')
    for j in skin_names:
        skin_na = j.translate(str.maketrans('', '', digits)).split('|')
        skin_name = []
        for i in skin_na:
            skin_name.append(i.strip('&'))

        for skin_num in range(1, len(skin_name) + 1):
            skin_url = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' + str(ename) + '/' + str(ename) + '-bigskin-' + str(skin_num) + '.jpg'
            # print(skin_url)
            skin_data = requests.get(skin_url, headers=headers).content

            with open('skin_photo\\' + str(hero[0]) + '-' + skin_name[skin_num - 1] + '.jpg', 'wb') as f:
                print('正在下载图片:', str(hero[0]) + '-' + skin_name[skin_num - 1])
                f.write(skin_data)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-29 10:45:45 | 显示全部楼层
这都可以?长见识啦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-30 10:14:16 | 显示全部楼层
kkkssso 发表于 2020-3-27 22:17
因为前五个英雄不在静态html里,需要获取json

感谢大佬分享,,学到了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-30 11:12:06 | 显示全部楼层
可能是名字不对,比如曜(yao)在官方文件中叫东方曜(DongFang yao),所以爬取不到。我用Unity3D的Asset Studio从手机上取出王者荣耀皮肤和模型的时候也遇到过这样的问题……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-25 19:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表