facharbeit/src/scrapers/twitter.rs
2026-01-14 23:30:08 +01:00

24 lines
764 B
Rust

use anyhow::{Context, Result, bail};
use std::{path::PathBuf, process::Command};
pub fn scrape(url: &str) -> Result<PathBuf> {
let tweet_id = url.split('/').next_back().unwrap();
println!("Scraping tweet ID: {}", tweet_id);
let out = Command::new("python")
.arg("scrape_user_tweet_contents.py")
.arg("--tweet-ids")
.arg(tweet_id)
.output()
.with_context(|| "Failed to execute tweet scraping command")?;
println!("Output command: {:?}", out);
if PathBuf::from("scraped-tweets")
.join(format!("tweet-{}.toml", tweet_id))
.exists()
{
return Ok(PathBuf::from("scraped-tweets").join(format!("tweet-{}.toml", tweet_id)));
}
bail!("Scraping failed for tweet: {}", url)
}