我目前正在做一个小的爱好项目,遇到了一些我自己无法解决的问题。首先,我想指出的是,我的编程经验局限于一些计算物理,因此离我目前的问题相当遥远。你知道吗
简单地说,我想对API请求的数据进行一些数据分析。我想到的API是this一个(文档就在那里链接(不能再发布任何链接))。还有一个很好的补充来处理提供的here。我能够编写一个basic程序来获取给定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:我如何搜索比名字更复杂的东西,例如流行度等。我如何编辑代码以便以后能够搜索像键seasonYear
这样的东西。你知道吗
编辑:在做了更多的研究并在网上查看了一些其他示例之后,我能够解决我的第一个问题,那就是编写一个函数,返回具有特定popularity
的所有条目。我用来做这件事的代码是
query ($query: Int) {
Page {
media(isAdult: false, popularity_greater: $query, type: ANIME) {
id
title {
english
}
episodes
startDate {
day
month
year
}
endDate {
day
month
year
}
genres
popularity
}
}
}
所以唯一剩下的是关于seasonYear
键的第二个问题。你知道吗
在Page in the docs下,您将看到
media
(注意小写)链接到这些docs here:这个media
返回与Media
(大写)查询返回对象不同。这个media node
没有seasonYear
值,正如错误所说。从外观上看,您可能需要startDate
或endDate
并从那里开始解析相关问题 更多 >
编程相关推荐