anitube_crawler_api 0.2.6+1 copy "anitube_crawler_api: ^0.2.6+1" to clipboard
anitube_crawler_api: ^0.2.6+1 copied to clipboard

outdated

Anitube website crawler API. This API allows you to get data and parse them from the brazilian anime website anitube.site.

anitube_crawler_api #

Build Status

Anitube website crawler API. This dart package is a simple library to fetch animes and episodes data from the brazilian Anitube website.
This package gets the website html pages, parse them and returns the data using a well formatted data model classes.

This package is part of the AnimeStore mobile app project.

Features #

  • Fetch the most recent episode posts
  • Fetch the most recent anime posts
  • Fetch the most visualized animes
  • Fetch the daily releases
  • Fetch animes genres available
  • Fetch anime details with episode list
  • Fetch episodes details with video stream link

Usage #

To use this plugin, add anitube_crawler_api as a dependency in your pubspec.yaml file. For example:

  dependencies:
    anitube_crawler_api: 0.2.6+1

The API #

The main API is very simple. You just need to use the AniTubeApi class methods to get all the data that you want.

///you need include this file only.
import 'package:anitube_crawler_api/anitube_crawler_api.dart';
/// create a instance.
final AniTubeApi api = AniTubeApi();

Getting the Anitube homepage data #

HomePageInfo homePage = await api.getHomePageData(timeout: localTimeout));
// HomePageInfo brings all information about the anitube website home page 
// using a well formated model.
// Checking the data that homePage brings to you.
print(homePage.dayReleases ); // Data type is List<AnimeItem>
print(homePage.latestEpisodes); // Data type is List<EpisodeItem>
print(homePage.mostRecentAnimes); // Data type is List<AnimeItem>
print(homePage.mostShowedAnimes); // Data type is List<AnimeItem>

Getting details about an "anime" like title, author, episodes reference list, genre and more... #

  // getting the first anime released.
 AnimeItem anime = homePage.dayReleases[0];
 
 // use id property of AnimeItem instance.
 AnimeDetails details = await api.getAnimeDetails( anime.id,timeout: localTimeout);
 
 // check the anime details property
 print(details);

Getting episode details like the stream Url #

  // details is an AnimeDetails instance.
  var episodeList = details.episodes; // getting List<EpisodeItem>
  // getting the first episode from the list
  var desiredEpisode = episodeList[ 0 ];
 
 // use id property of EpisodeItem instance.
 EpisodeDetails episode = await api.getEpisodeDetails( desiredEpisode.id,timeout: localTimeout);
 
 // printing episode title
 print(episode.title)
 // printing episode stream URL
 print(episode.streamUrl);
 // checking EpisodeDetails class properties
 print(episode);

Getting all genres available. #

  List<String> genres = await api.getGenresAvailable();
  // print the list with all avaialble genre names.
  print(genres);

Getting all the animes in anitube website. #

  // AnimeListPageInfo instance holds data about the current
  // anime list page included the anime item list and the current page
  // number and the max page number both are useful to do pagination.
  AnimeListPageInfo pageInfo = await api.getAnimeListPageData(
    // 1 is the default page number
    pageNumber = 1,
  );
  // prints the current page number
  print(pageInfo.pageNumber);
  
  // prints the last page number
  print(pageInfo.maxPageNumber);
  
  // prints the list with AnimeItem objects which comes with the current page.
  print(pageInfo.animes);

The search engine used is from the anitube website. Sometimes it returns undesired results but most cases it works well.

    // the search can be anything. A letter, a anime name, studio name etc.
    String query = "Shigeki no kyojin";
  
    AnimeListPageInfo searchPageInfo =  await api.search(
        query,
        pageNumber = 1, // the default page number is 1.
    );
  
    // prints the current search page number
    print(searchPageInfo.pageNumber);
  
    // prints the last page number
    print(searchPageInfo.maxPageNumber);
  
    // prints the list with AnimeItem objects which comes with the current search page.
    print(searchPageInfo.animes);
    
    //NOTE: sometimes a query can have more than 1 page, in this cases
    // if you want more results to the same query string value YOU MUST call search method again using the same query but a different pageNumber
    
    // getting the page 2 for the query string.
    AnimeListPageInfo searchPageInfo2 =  await api.search(
        query,
        pageNumber = 2,);
8
likes
0
points
25
downloads

Publisher

unverified uploader

Weekly Downloads

Anitube website crawler API. This API allows you to get data and parse them from the brazilian anime website anitube.site.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

dio, flutter, html

More

Packages that depend on anitube_crawler_api