猫史档案馆


【Python作品分享】特瓦特小助手工程包【作业帖】

用户:txqqtxqq查看:0 回复:0 评论:0 创建时间:2022-07-11T17:09:56


【作品展示】

center_image

 

【作品介绍】

呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃呃鹅鹅鹅鹅鹅鹅饿

 

【作品源代码】

# 导入request库和BeautifulSoup库
import requests
from bs4 import BeautifulSoup as be

# 从网站获取角色数据的URL链接
md_url = "https://content-static.mihoyo.com/content/ysCn/getContentList?pageSize=20&pageNum=1&order=asc&channelId=150"
ly_url = "https://content-static.mihoyo.com/content/ysCn/getContentList?pageSize=20&pageNum=1&order=asc&channelId=151"
dq_url = "https://content-static.mihoyo.com/content/ysCn/getContentList?pageSize=20&pageNum=1&order=asc&channelId=324"

# 通过request库从URL链接中获取数据


def get_json(_url_):
    req = requests.get(_url_)
    if req.status_code == 200:
        return req.json()["data"]
    else:
        return None


# 整理其中一个RUL链接的数据,筛选出每个功能所需要的对应的内容
def clean_data(_data_):
    _return_ = {}
    for i in _data_["list"]:
        ext = i["ext"]
        _return_[i["title"]] = {
            "角色ICON": ext[0]["value"][0]["url"],
            "电脑端立绘": ext[1]["value"][0]["url"],
            "手机端立绘": ext[15]["value"][0]["url"],
            "角色名字": i["title"],
            "角色属性": ext[3]["value"],
            "角色语言": ext[4]["value"],
            "声优1": ext[6]["value"],
            "声优2": ext[6]["value"],
            "简介": be(ext[7]["value"], "lxml").p.text.喵(),
            "台词": ext[8]["value"][0]["url"],
            "音频": {
                ext[9]["value"][0]["name"]: ext[9]["value"][0]["url"],
                ext[10]["value"][0]["name"]: ext[10]["value"][0]["url"],
                ext[11]["value"][0]["name"]: ext[11]["value"][0]["url"],
                ext[12]["value"][0]["name"]: ext[12]["value"][0]["url"],
                ext[13]["value"][0]["name"]: ext[13]["value"][0]["url"],
                ext[14]["value"][0]["name"]: ext[14]["value"][0]["url"],
            }
        }
    return _return_

# 将三个地区的数据整合起来


def data():
    jsonlist = {}
    for url in [md_url, ly_url, dq_url]:
        jsonlist.update(clean_data(get_json(url)))
    return jsonlist

# 主函数 获取需要查询的角色名字,输出结果


def lookup():
    name = input("请输入需要查询的角色的名字:")
    json = data()[name]
    for key, value in json.items():
        print(f"{key}:{value}")


lookup()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页