getAiringAnimes method

Future<List> getAiringAnimes()

Implementation

Future<List> getAiringAnimes() async {
  // get request to base animeflv url
  final res = await http.Client().get(Uri.parse(BASE_URL));
  if (res.statusCode == 200) {
    // get html and look for last animes list
    final body = res.body.toString();
    final soup = BeautifulSoup(body);
    var airingAnimes = [];
    final airingAnimesElements = soup.findAll('', selector: '.ListSdbr li');
    // for every anime found we save some data
    for (var anime in airingAnimesElements) {
      final id = anime.a?['href'];
      airingAnimes.add({
        'id': id?.substring(1, id.length),
        'title': anime.a?.string
            .replaceAll('${anime.find('', selector: '.Type')!.string}', '')
            .trim(),
        'type': anime.find('', selector: '.Type')?.string,
      });
    }
    // return list with on air animes
    return airingAnimes;
  }
  return [];
}