Discord.net 使用discord bot从MAL检索用户统计信息

Discord.net 使用discord bot从MAL检索用户统计信息,discord.net,Discord.net,我正试图找到一种方法,从给定用户的“我的动画列表”档案中检索用户统计信息,但我不知道如何检索数据。我想从他们的个人资料(使用MyAnimeList.net/profile/查找)中查找他们的已完成、正在观看、已删除等内容 我该怎么做呢?官方MyAnimeList API没有任何用于获取用户配置文件信息的端点。你能做的就是刮网页 谢天谢地,MyAnimeList可以检索用户配置文件的XML,因此比解析HTML容易得多 检索XML配置文件后,您可以使用System.XML命名空间中的类/方法(如X

我正试图找到一种方法,从给定用户的“我的动画列表”档案中检索用户统计信息,但我不知道如何检索数据。我想从他们的个人资料(使用
MyAnimeList.net/profile/
查找)中查找他们的已完成、正在观看、已删除等内容


我该怎么做呢?

官方MyAnimeList API没有任何用于获取用户配置文件信息的端点。你能做的就是刮网页

  • 谢天谢地,MyAnimeList可以检索用户配置文件的XML,因此比解析HTML容易得多
  • 检索XML配置文件后,您可以使用
    System.XML
    命名空间中的类/方法(如
    XDocument.parse()
    )在C中解析它。在StackOverflow上有很多资源可以帮助您实现这一点
如果你首先不确定如何从网络上获取这些数据,我建议你去看看像或这样的图书馆。他们为你从网络上获取信息提取了很多样板文件,这样你就可以专注于编码了。如果您想同时跳过XML解析和web请求,您可以让它为您完成

为了保持Discord.NET bot的干净,我建议您使用
MyAnimeListService
类来执行此web请求/删除。然后,您可以将其注入(我假设)用于
的模块中!动画
命令,重点使用MAL配置文件数据。这样,您就将获取数据的逻辑与向不和谐用户呈现数据的逻辑分离了。您可以在Discord.NET中阅读有关依赖项注入的内容。假设您使用的是C#,最终结果将是访问模块,如下所示:

[组(“动画”)]
公共类AnimeModule:Module
{
私有AnimeModule(MyAnimeListService服务)
{
服务=服务;
}
私有MyAnimeListService服务{get;}
[命令]
公共异步任务AnimeCommand(字符串用户名)
{
//请在这里呼叫您的服务
}
}

欢迎使用SO,当您提出问题时,请尝试提供有关您遇到的问题以及您迄今为止尝试过的方法的确切信息。请参阅社区指南,以获取感谢。因此,我可以很容易地获得网站,我只是不知道如何从我得到的页面检索某些数据。每个用户的个人资料中都有统计信息。这些是观看天数、平均分数、观看时间、完成时间、暂停时间、放弃时间、计划观看时间、总参赛人数、重播时间和剧集数。这些都显示在他们个人资料的首页上,它们是我想要检索的数据。老实说,我不知道从哪里开始能够获取数据,而在线搜索几乎没有什么帮助。谢谢。很抱歉,回复得太晚了,我才刚刚开始写。你链接的资源非常有用。