王者荣耀道具页面爬虫(json格式数据)

首先这个和英雄页面是不一样的,英雄页面的图片链接是直接放在源代码里面的,直接就可以请求到,但是这个源代码里面是没有的

虽然在检查页面能够搜索到,但是应该是动态加载的,源码中搜不到该链接

然后就去看看是不是某个接口中返回的数据

刷新了一下返回了一个json

估计一些数据在这里面,我们下载下来试试

没错,那接下来就是简单的拼接了

下面是实现code

py 复制代码
import requests
import csv
from urllib.request import urlretrieve
import json

# 1. 获取JSON数据
url = "https://pvp.qq.com/web201605/js/item.json"
try:
    response = requests.get(url)
    response.raise_for_status()  # 检查HTTP错误
    data = response.json()
except Exception as e:
    print(f"获取数据失败: {e}")
    exit()

# 2. 提取item_id和item_name
items = []
for item in data:
    try:
        items.append({
            "item_id": item["item_id"],
            "item_name": item["item_name"]
        })
    except KeyError:
        print(f"跳过无效数据项: {item}")
        continue

#载图片
print(items)
for item in items:
    try:
        img_url = f"https://game.gtimg.cn/images/yxzj/img201606/itemimgo/{item['item_id']}.png"
        urlretrieve(img_url, f"D:/小说/王者荣耀武器道具/{item['item_name']}.png")
        print(f"下载成功: {item['item_name']}.png")
    except Exception as e:
        print(f"下载失败 {item['item_name']}.png: {str(e)[:50]}...")
相关推荐
李松桃10 分钟前
Python爬虫-实战
爬虫·python
xmjd msup18 分钟前
mysql的分区表
数据库·mysql
Lyyaoo.18 分钟前
【JAVA Spring面经】Spring 事务失效情况
java·数据库·spring
MeAT ITEM24 分钟前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
dovens28 分钟前
PostgreSQL 中进行数据导入和导出
大数据·数据库·postgresql
IOT.FIVE.NO.128 分钟前
claude code desktop cowork报错解决和记录Workspace..The isolated Linux environment ...
linux·服务器·数据库
跨境数据猎手33 分钟前
B 站 item_search_video 接口开发,搭建生产级视频搜索服务
大数据·爬虫·python
Rick199336 分钟前
mysql 慢查询怎么快速定位
android·数据库·mysql
科技小花8 小时前
全球化深水区,数据治理成为企业出海 “核心竞争力”
大数据·数据库·人工智能·数据治理·数据中台·全球化
X56619 小时前
如何在 Laravel 中正确保存嵌套动态表单数据(主服务与子服务)
jvm·数据库·python