我目前正在从事一个小型业余项目,遇到了一些我无法解决的问题。首先,我想指出,我的编程经验仅限于某种计算物理学,因此与当前的问题相去甚远。
简单地说,我想对API请求的数据进行一些数据分析。我想到的API是this的一种(文档已在此处链接(无法发布任何链接))。 here还提供了相当不错的功能来处理。我能够编写一个基本程序来获取给定id
的数据并进行一些简单的计算。由于必须查找每个标题的id
很不方便,因此3的作者提供了一个搜索选项。因此,我可以通过name
,season
和here中定义的其他key
搜索条目。
这当然很方便,但是我看不到如何在可能更复杂的环境中有效地使用它。例如,假设我按照3的Read me
文件中的建议进行了以下操作。
from Pymoe import Anilist
instance = Anilist()
instance.search.anime("King")
很显然,这将在标题中搜索“ King”一词,但是如果我想搜索具有最高人气的条目,这也是search
定义中的关键(如可以在4第87行中看到),我该怎么做?
我目前面临的另一个问题与上面的部分相关,是修改search
的目标。我已经为get
完成了此操作(添加了另一个键,它很好用),但是我为此search
苦苦挣扎。假设我要添加密钥seasonYear
(可以在第19行的here中找到)。我的尝试是将3中的第69-94行更改为
query ($query: String, $page: Int, $perpage: Int) {
Page (page: $page, perPage: $perpage) {
pageInfo {
total
currentPage
lastPage
hasNextPage
}
media (search: $query, type: ANIME) {
id
title {
romaji
english
}
coverImage {
large
}
averageScore
popularity
episodes
season
seasonYear
hashtag
isAdult
}
}
}
我用seasonYear
加行了。当我尝试运行此命令时,出现错误
{'data': None, 'errors': [{'message': 'Cannot query field "seasonYear" on type "Media".', 'status': 400, 'locations': [{'line': 22, 'column': 25}]}]}
但是根据文档,这是media
类型的有效密钥。
TL; DR::如何搜索比名称更复杂的名称,例如流行度等。如何编辑代码,以便以后可以搜索诸如密钥{ {1}}。
编辑:在进行了更多研究并在线查看了一些其他示例之后,我得以解决我的第一个问题,即编写了一个函数,该函数返回带有特定{ {1}}。我想到的代码是
seasonYear
因此,唯一剩下的就是我关于popularity
键的第二个问题。
答案 0 :(得分:0)
在Page in the docs下,您会看到media
(注意小写)链接到这些docs here:此media
返回与Media
不同(大写)查询返回对象。就像错误指出的一样,此media node
没有seasonYear
值。从外观上看,您可能想要startDate
或endDate
并从那里解析年份