Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TRACKING PAGE] Bangumi #792

Open
liurui39660 opened this issue Jul 9, 2021 · 7 comments
Open

[TRACKING PAGE] Bangumi #792

liurui39660 opened this issue Jul 9, 2021 · 7 comments
Labels
blocked blocked by something.

Comments

@liurui39660
Copy link

Website

Other details

This is an anime/manga progress management site, resembles MAL and AniList. It has official APIs provided, but some features are not implemented yet (e.g. fetching all watched records of a user). I hope this can be added to MAL's progress sync.

@lolamtisch
Copy link
Member

Yeah without user lists not really a good fit for malsync. And specially the episode based watching states will be difficult too, as the specials are includeded there too.

@lolamtisch lolamtisch changed the title [Website Request] Bangumi [TRACKING PAGE] Bangumi Jul 9, 2021
@lolamtisch lolamtisch added blocked blocked by something. and removed New Website labels Jul 9, 2021
@liurui39660
Copy link
Author

Is crawling the web page an option? In the user profile, there will be 24 records per page, the item id is in the HTML id. After that, there are APIs to interact with individual items (fetch details, fetch progress, set status, etc).

I can help open an issue on their side if you can help list required APIs.

@lolamtisch
Copy link
Member

We dont want to do any session bassed web crawling anymore. Another problem is that many Features work on the malid and i did not see them saving it. The experience will be a lot lot worse without it. The search and mapping to the correct entry will be very bad in comparision and you lose all next episode times and notifications and some other things.

@liurui39660
Copy link
Author

I see the difficulty. For the mapping, I have no idea how MAL Sync works, but I have a script that uses the Japanese name provided by Bangumi to search the corresponding item in AniList. The accuracy is about 95%, but Bangumi merged some items, like the main story and OVAs at the same season.

Still, if you can provide a list of required APIs, I can help open an issue and ask them.

@lolamtisch
Copy link
Member

lolamtisch commented Jul 9, 2021

This should prety much be all informations needed per api call.

Single Entry
    internalId: any
    malId: number
    type: 'anime' | 'manga'
    url: string
    userStatus: 'watching' | 'pantowatch' | 'completed' ....
    userScore: any
    userWatchedEpisode / chapter: number
    userWatchedVolumens: number
    totalEpisodes: number
    totalVolumes: number
    image: string
    globalScore: any


// possible to filter by userState 
list[]
    internalId: any
    malId: number
    type: 'anime' | 'manga'
    title: string
    url: string
    totalEp: number
    userWatchedEpisode / chapter: number
    userStatus: 'watching' | 'pantowatch' | 'completed' ....
    userScore: any
    image: string
    
Search[]
    id: number;
    name: string;
    altNames: string[];
    url: string;
    image: string;
    
Overview metadata:
   Just metadata not important

@lolamtisch
Copy link
Member

lolamtisch commented Jul 9, 2021

List should be able to be filtered by userState.
And if they add the malid, then finding the entry using the malId would be needed too

@louisroyer
Copy link
Contributor

louisroyer commented Oct 11, 2022

I see the difficulty. For the mapping, I have no idea how MAL Sync works, but I have a script that uses the Japanese name provided by Bangumi to search the corresponding item in AniList. The accuracy is about 95%, but Bangumi merged some items, like the main story and OVAs at the same season.

Still, if you can provide a list of required APIs, I can help open an issue and ask them.

Maybe you could rely on Wikidata to do the mapping, or at least to bettter evaluate the accuracy of your script. There is an identifier for bangumi and an identifier for MAL. It is far from complete for the moment (1523 items with both bangumi id and mal id), but it could be improved. Here are some tools allowing to perform queries ; wikidatanpm may interest you since it is a nodejs module.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked blocked by something.
Projects
None yet
Development

No branches or pull requests

3 participants