妹妹的大白腿 发表于 2020-3-25 11:23:38

观摩大佬

znwlx1986 发表于 2020-3-25 11:32:25

学习~

漆黑里的萤火虫 发表于 2020-3-25 13:33:15

1

陈尚涵 发表于 2020-3-25 13:40:15

我要看,别隐藏!变!

xiaodongc 发表于 2020-3-25 14:06:15

666

小格兰巨人 发表于 2020-3-25 17:50:04

看一下{:10_256:}

2267818889 发表于 2020-3-25 23:02:02

学习学习

化繁为简 发表于 2020-3-25 23:42:32

学习

17607748481 发表于 2020-3-26 01:24:23

6666

17607748481 发表于 2020-3-26 01:24:53

666

。haha 发表于 2020-3-26 08:43:12

哈哈

nanrenne 发表于 2020-3-26 09:58:29

研究研究

蒋蒋蜀黍 发表于 2020-3-26 21:46:26

这个有什么用啊,哪位大神解释一下

wildpants 发表于 2020-3-27 11:30:57

蒋蒋蜀黍 发表于 2020-3-26 21:46
这个有什么用啊,哪位大神解释一下

图片爬下来好看{:5_109:}

爱冒险的梦 发表于 2020-3-27 12:08:45

周歌 发表于 2020-3-27 17:26:01

厉害厉害

kkkssso 发表于 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) + '-' + skin_name + '.jpg', 'wb') as f:
                print('正在下载图片:', str(hero) + '-' + skin_name)
                f.write(skin_data)

bailean 发表于 2020-3-29 10:45:45

这都可以?长见识啦

wildpants 发表于 2020-3-30 10:14:16

kkkssso 发表于 2020-3-27 22:17
因为前五个英雄不在静态html里,需要获取json




感谢大佬分享,,学到了

Joy187 发表于 2020-3-30 11:12:06

可能是名字不对,比如曜(yao)在官方文件中叫东方曜(DongFang yao),所以爬取不到。我用Unity3D的Asset Studio从手机上取出王者荣耀皮肤和模型的时候也遇到过这样的问题……
页: 1 2 3 4 5 6 7 8 9 [10] 11
查看完整版本: 简单爬虫,爬取王者荣耀英雄皮肤