我正在尝试找到一种方法来检索给定用户的动态列表&#34;我的动漫列表&#34;个人资料,无法弄清楚如何检索数据。我希望从他们的个人资料中找到他们已完成,观看,删除等(使用MyAnimeList.net/profile/<insert user name here>
找到)。
我将如何做到这一点?
答案 0 :(得分:1)
官方MyAnimeList API没有任何获取用户个人资料信息的端点。你可以做的就是刮掉网页。
System.Xml
命名空间中的类/方法在C#中解析它,例如XDocument.Parse()
。在StackOverflow上有很多资源可以帮助你做这件事。如果您不确定如何从网络上获取此数据,我建议您查看RestSharp或Flurl等库。他们抽象了很多样板,用于从网上获取信息,因此您可以专注于编码。如果您想完全跳过XML解析和Web请求,可以让a library为您完成。
为了让您的Discord.NET机器人保持干净,我建议您使用MyAnimeListService
课程来执行此Web请求/抓取。然后您可以将其注入您正在使用的模块中为你的(我假设)!anime
命令,并专注于在那里使用MAL配置文件数据。这样,您就可以将获取数据的逻辑与向Discord用户呈现数据的逻辑分开。您可以在Discord.NET here中阅读有关依赖注入的内容。假设您正在使用C#,最终结果将是访问模块:
[Group("anime")]
public class AnimeModule : Module
{
private AnimeModule(MyAnimeListService service)
{
Service = service;
}
private MyAnimeListService Service { get; }
[Command]
public async Task AnimeCommand(string username)
{
// call your service here
}
}