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

  1. Verify the deck is public by opening the URL in an incognito browser; if private, request access or use another deck.
  2. Check if SlideShare changed its HTML and update `parse_slide_urls` selectors/regexes to match the current markup.
  3. Retry later — bot-protection or transient pages can also return HTML without slide URLs.
  4. 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

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


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)