修改现有代码以从API获取搜索结果 - python

我目前正在从事一个小型业余项目,遇到一些我无法解决的问题。首先,我想指出,我的编程经验仅限于某种计算物理学,因此与当前的问题相去甚远。

简而言之,我想对API请求的数据进行一些数据分析。我想到的API是this一种(文档在此处链接(不能再发布任何链接))。还有一个相当不错的功能来处理提供的here。我能够编写一个基本程序来获取给定id的数据并进行一些简单的计算。由于必须查找每个标题的id非常不方便,因此3的作者提供了搜索选项。因此,我可以通过nameseason和here中定义的其他key搜索条目。

这当然很方便,但是我看不到如何在可能更复杂的环境中有效地使用它。例如,假设我按照3的Read me文件中的建议执行以下操作。

from Pymoe import Anilist
instance = Anilist()
instance.search.anime("King")

很明显,这将在标题中搜索“ King”一词,但是如果我想搜索具有最高人气的条目,这也是search定义中的关键(如第87行),我将如何去做?

我现在面临的另一个与上述问题部分相关的问题是修改search的目标。我已经为get完成了此操作(添加了另一个键,它可以正常工作),但是对于search我却为此而苦苦挣扎。假设我要添加键seasonYear(可以在第19行的4中找到)。我的尝试是将here中的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键的第二个问题。

python参考方案

在Page in the docs下,您会看到media(注意小写字母)链接到这些docs here:此media返回与Media(大写)查询返回对象不同。该media node没有seasonYear值,就像错误所说的那样。从外观上,您可能需要startDateendDate并从那里解析年份

R'relaimpo'软件包的Python端口 - python

我需要计算Lindeman-Merenda-Gold(LMG)分数,以进行回归分析。我发现R语言的relaimpo包下有该文件。不幸的是,我对R没有任何经验。我检查了互联网,但找不到。这个程序包有python端口吗?如果不存在,是否可以通过python使用该包? python参考方案 最近,我遇到了pingouin库。

Python sqlite3数据库已锁定 - python

我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…

Python:如何根据另一列元素明智地查找一列中的空单元格计数? - python

df = pd.DataFrame({'user': ['Bob', 'Jane', 'Alice','Jane', 'Alice','Bob', 'Alice'], 'income…

Python pytz时区函数返回的时区为9分钟 - python

由于某些原因,我无法从以下代码中找出原因:>>> from pytz import timezone >>> timezone('America/Chicago') 我得到:<DstTzInfo 'America/Chicago' LMT-1 day, 18:09:00 STD…

将字符串分配给numpy.zeros数组[重复] - python

This question already has answers here: Weird behaviour initializing a numpy array of string data                                                                    (4个答案)         …