use youtube_captions::DigestScraper; use youtube_captions::language_tags::LanguageTag; pub async fn get_transcript(video_id: &str, language: &LanguageTag) -> Vec<String> { let scraper = DigestScraper::new(reqwest::Client::new()); let digest = scraper.fetch(video_id, None).await.unwrap(); let captions_parser = digest.captions.into_iter().find(|cap| language.matches(&cap.lang_tag)).unwrap(); let transcript = captions_parser.fetch_srv1().await.unwrap(); let result = transcript.segments.iter().map(|s|s.value.clone()).collect(); result } pub async fn get_languages(video_id: &str) -> Vec<String> { let scraper = DigestScraper::new(reqwest::Client::new()); let digest = scraper.fetch(video_id, None).await.unwrap(); let result = digest.captions.into_iter().map(|cap|cap.lang_tag.into_string()).collect(); result }