# Sélecteurs de scraping Vostfree (DataLife Engine) — surchargeables sans toucher au code. # Structure vérifiée en live sur https://ipv4.vostfree.ws search: result: "div.search-result" # bloc d'un résultat de recherche link: "div.title a" # lien + titre image: "span.image img" # poster genres: "ul.additional li" # "Genre:...", "Anneé:..." (détection film) details: title: "h1" poster: ".slide-poster img" synopsis: ".slide-desc" # les .cast internes sont retirés genres: '.slide-top li.right a[href*="/genre/"]' episode_badge: ".slide-poster .year" # ex. "Episode 293" season_li: "ul.slide-top li" # ex. "Saison: 01" episodes: option: "select.new_player_selector option" # value="buttons_N" → Episode NN button: "div.button_box" # repli si pas de sélecteur content_prefix: "content_" # #player_M → #content_player_M # Nouveautés — page « Animes VOSTFR récemment ajoutés » latest: path: "/animes-vostfr-recement-ajoutees.html" item: "div.movie-poster" link: ".play a" # href = fiche, alt = titre image: "span.image img" # class CSS du lecteur → template d'URL ({} = valeur de #content_player_M) # chaîne vide = la valeur est déjà une URL complète players: new_player_vip: "" new_player_moevideo: "" new_player_sibnet: "https://video.sibnet.ru/shell.php?videoid={}" new_player_netu: "https://video.sibnet.ru/shell.php?videoid={}" new_player_uqload: "https://uqload.com/embed-{}.html" new_player_mp4: "https://www.mp4upload.com/embed-{}.html" new_player_fembed: "https://www.fembed.com/v/{}" new_player_mytv: "https://www.myvi.top/embed/{}" new_player_myvi: "https://myvi.ru/player/embed/html/{}" new_player_rutube: "https://rutube.ru/play/embed/{}" new_player_ok: "https://ok.ru/video/{}" new_player_mail2: "https://my.mail.ru/video/embed/{}" new_player_rapids: "https://rapidstream.co/embed-{}.html" new_player_gtv: "https://iframedream.com/embed/{}.html" new_player_cloudvideo: "https://cloudvideo.tv/embed-{}.html" new_player_uptostream: "https://uptostream.com/iframe/{}"