Skip to content

Commit 4c0d413

Browse files
committed
chore: add animemax crawler
1 parent c79886e commit 4c0d413

2 files changed

Lines changed: 43 additions & 0 deletions

File tree

src/app/crawlers/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import { VostAnimezCrawler } from './vostfr/vostanimez.crawler';
3737
import { WawAnimesCrawler } from './vostfr/wawanimes.crawler';
3838
import { JetAnimesCrawler } from './vostfr/jetanimes.crawler';
3939
import { AnimeCompletCrawler } from './vostfr/animecomplet.crawler';
40+
import { AnimeMaxCrawler } from './vostfr/anime-max.crawler';
4041

4142
const crawlersList = {
4243
vostfr: [
@@ -56,6 +57,7 @@ const crawlersList = {
5657
MangasVostfrCrawler,
5758
WacVostfrCrawler,
5859
ToonAnimeCrawler,
60+
AnimeMaxCrawler,
5961
],
6062
vosten: [
6163
GogoPlayCrawler,
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import { LatestEpisodesCrawler } from '../abstract/latest-episodes.crawler';
2+
import { ScraperService } from '../../services/scraper.service';
3+
import { Episode } from '../../models/episode';
4+
import { Observable } from 'rxjs';
5+
6+
export class AnimeMaxCrawler extends LatestEpisodesCrawler {
7+
constructor(private scraper: ScraperService) {
8+
super('AnimeMax', 'https://anime-max.co');
9+
this.filters = {
10+
...this.filters,
11+
title: (text: string) => {
12+
const title = text.trim().match(/(.*) (vostfr|vf)(?:.*)$/i);
13+
return title?.length ? title[1].trim() : text;
14+
},
15+
subtitles: (text: string) => {
16+
return text ? text.toLowerCase() : 'vostfr';
17+
},
18+
};
19+
}
20+
21+
_getLatestEpisodes(): Observable<Episode[]> {
22+
return this.scraper.scrape(
23+
`${this.baseUrl}/animes-vostfr/`,
24+
'section#grid > div > article',
25+
{
26+
anime: {
27+
title: '.short-title > h2 | title',
28+
cover: '.short-img img@src | concatUrl',
29+
},
30+
number: '.short-meta.sl-g | number',
31+
streamLinks: [
32+
{
33+
url: 'a.short-title@href | concatUrl',
34+
lang: '.b-rate > h3 > a | subtitles',
35+
},
36+
],
37+
},
38+
this.filters
39+
);
40+
}
41+
}

0 commit comments

Comments
 (0)