用Python写一个爬取王者荣耀皮肤的代码
时间: 2024-04-17 17:28:06 浏览: 105
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
以下是一个使用 Python 爬取王者荣耀皮肤的示例代码:
```python
import requests
import os
def download_skin(skin_url, save_dir):
# 从皮肤URL中提取文件名
file_name = skin_url.split("/")[-1]
save_path = os.path.join(save_dir, file_name)
# 发送请求并下载皮肤图片
response = requests.get(skin_url)
if response.status_code == 200:
with open(save_path, "wb") as f:
f.write(response.content)
print(f"成功下载皮肤图片: {file_name}")
else:
print(f"下载失败: {file_name}")
def scrape_skins(hero_name):
url = f"https://pvp.qq.com/web201605/js/herolist.json"
response = requests.get(url)
if response.status_code == 200:
hero_list = response.json()
for hero in hero_list:
if hero["cname"] == hero_name:
skins = hero["skin_name"].split("|")
for skin in skins:
skin_url = f"https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/{hero['ename']}/{hero['ename']}-bigskin-{skin}.jpg"
download_skin(skin_url, hero_name)
break
else:
print(f"未找到英雄: {hero_name}")
else:
print("请求失败")
if __name__ == "__main__":
hero_name = "程咬金" # 想要爬取皮肤的英雄名称
save_dir = "skins" # 保存皮肤图片的目录
if not os.path.exists(save_dir):
os.makedirs(save_dir)
scrape_skins(hero_name)
```
上述代码中,我们首先定义了一个 `download_skin` 函数,用于下载皮肤图片。然后,我们使用 `scrape_skins` 函数来爬取指定英雄的皮肤。该函数首先发送请求获取英雄列表,然后根据指定的英雄名称找到对应的皮肤列表。接下来,我们根据皮肤URL下载皮肤图片,并保存到指定的目录中。请确保目标英雄在王者荣耀的英雄列表中,并将 `hero_name` 和 `save_dir` 替换为你想要爬取的英雄名称和保存图片的目录。
阅读全文