tonhowtf/omniget · error
nao encontrei slides nessa pagina (o SlideShare pode ter…
Error message
nao encontrei slides nessa pagina (o SlideShare pode ter mudado o HTML ou o deck e privado)
What it means
Thrown when the SlideShare page was fetched successfully (HTTP 2xx) but `parse_slide_urls(&html)` found zero image URLs in the markup. It means the scraper's HTML heuristics no longer match SlideShare's markup, or the page genuinely contains no extractable slides (private/deleted deck).
Solutions
- Verify the deck is public by opening the URL in an incognito browser; if private, request access or use another deck.
- Check if SlideShare changed its HTML and update `parse_slide_urls` selectors/regexes to match the current markup.
- Retry later — bot-protection or transient pages can also return HTML without slide URLs.
- Inspect the fetched HTML manually to confirm which case applies before changing code.
Defensive patterns
Strategy: try-catch
Try / catch
match slides::download(&url, &dest, progress).await {
Ok(res) => use(res),
Err(e) if e.to_string().contains("nao encontrei slides") => {
// check deck is public / retry later / update scraper
}
Err(e) => return Err(e),
} Prevention
- Confirm the deck is public in an incognito browser first.
- Don't rely on scraping heuristics — expect breakage after SlideShare redesigns.
- Keep the scraper's parsing logic updated against current SlideShare HTML.
When it happens
Trigger: Calling `slides::download` with a valid slideshare.net URL whose HTML yields an empty slide-URL list: private decks, deleted decks, region/login-walled pages, or SlideShare HTML changes that break `parse_slide_urls`.
Common situations: Deck made private after sharing; deck deleted; SlideShare redesign changing image URL attributes; consent/cookie wall HTML returned instead of the deck; bot-protection page served to the HTTP client.
Understand the failure class
Background: EmptyResultError / "no results found": when an API or scraper succeeds but returns zero rows — this error's family across 9 libraries.
Related errors
- nenhum favorito foi lido: esses perfis costumam exigir a…
- nenhum post foi lido desse blog
- nao achei os bundles JS do X na pagina
- não achei o id da sua conta na página de importação do…
- a lista voltou vazia — o TikTok não entregou os favoritos…
AI-assisted analysis of tonhowtf/omniget@8600b91f42 (2026-09-12).
Data as JSON: /api/errors/7c2251be0eed3532.
Report an issue: GitHub.
Appendix: source
Thrown at src-tauri/omniget-core/src/core/tools/slides.rs:100
pub async fn download(
url: &str,
dest_dir: &str,
progress: super::ProgressFn,
) -> anyhow::Result<SlidesResult> {
if !url.contains("slideshare.net") {
return Err(anyhow!("cole um link do slideshare.net"));
}
let client = super::client()?;
let html = client
.get(url)
.send()
.await?
.error_for_status()?
.text()
.await?;
let urls = parse_slide_urls(&html);
if urls.is_empty() {
return Err(anyhow!("nao encontrei slides nessa pagina (o SlideShare pode ter mudado o HTML ou o deck e privado)"));
}
let title = og_title(&html).unwrap_or_else(|| "slideshare".to_string());
let work = super::temp_dir().join(format!("slides-{}", uuid::Uuid::new_v4()));
std::fs::create_dir_all(&work)?;
let mut images = Vec::with_capacity(urls.len());
let id = format!("slides:{}", url);
for (i, u) in urls.iter().enumerate() {
super::report(
&progress,
&id,
"download",
i as u64,
Some(urls.len() as u64),
None,
);
let data = client
.get(u)
.send()View on GitHub (pinned to 8600b91f42)