Show HN: Pulpie – Models for Cleaning the Web

(usefeyn.com)

101 points | by snyy 2 days ago ago

24 comments

  • zaptheimpaler 2 days ago ago

    So this is tailored towards kind of a "reader view" for models right? Can it handle images, tables, shadow DOMs too? Like there are 3 use cases I have now - one is a simple text view for models to understand it, one is a "web clip" mode which would ideally preserve images and media, and one is to extract tabular data from web pages. Which ones is this good at?

    • snyy 2 days ago ago

      Images pass through as they are considered main content. Same with tables.

      Pulpie will return all main content on a page as HTML/Markdown. I’m not sure I fully understand “which one this is good at?”. perhaps you can try the model on hugging face and let me know if the results look good?

      https://huggingface.co/spaces/feyninc/pulpie

  • kocamaz 2 days ago ago

    It's good looking, and I liked it. The trial page accessed from the hugging face website is a very inefficient experience when I use Mozilla and the dark theme, FYI.

    • snyy 2 days ago ago

      Fixed. Try again. Let me know if any other issues

  • wiradikusuma 2 days ago ago

    Does it work with ecommerce for product scraping? E.g. Amazon, or Shopee (big in SEA)

  • andrethegiant 2 days ago ago

    Why not use a plain old html → markdown converter? You can easily strip out ads using CSS /jQuery-like selectors. That would cost zero dollars.

    • snyy 2 days ago ago

      We see far better performance with models. Heuristics break on richer content like codeblocks, formulae, quotes, etc. In our testing, our model was 25 F1 points better than Trafilatura.

      • andrethegiant 2 days ago ago

        I think instead of "performance" you must mean "accuracy". Traditional deterministic conversion will always be faster and cheaper than running through a model, even if it is less accurate.

        • snyy 2 days ago ago

          Ah yes, I meant accuracy.

    • spelk 2 days ago ago

      If I had to reckon, it's because the web comes in very many shapes, and outsourcing that work to a generalist LLM/SLM like GPT Nano is expensive, and doing it deterministically will never catch all the edge cases as well as a purpose-built encoder when run at webscale.

    • dracyr 2 days ago ago

      Looks like they are including Trafilatura in the comparison tables, which I've used before with pretty decent results, but it still has trouble with some pages. Looks like the pulpie f1 scores are quite a bit better, especially for the hard cases.

      Would be curious how it runs on more modest hardware though, I'm using it for a small bookmark archiving tool and being able to run it on my small mini-pc homelab would be nice.

  • cpill 2 days ago ago

    I did some research on this about 10 years ago. I spent 2 days hand labelling data from scraped news sites. Then built a good old fashioned Random Forest model to classify html nodes based on some feature engineering. turns out the P tag and the number-of-words threshold get you 90% of the way there, on news sites anyway. Great thing about RF models is they tell you which features are the most important. fun little project (apart from the 2 days of data labelling).

  • grillermo a day ago ago

    I’m implementing this for readitsoon my web to kindle app. Thanks for this!

  • geniium 2 days ago ago

    Amazing I was just looking for something like this to be able to import web page content into Whisperit

  • lnenad 2 days ago ago

    Very nice! Thank you for building this.

  • tyzoid 2 days ago ago

    How does this work on pages that require JavaScript in order to render?

    • philipkglass 2 days ago ago

      You'd typically use a headless browser to generate the fully rendered page, then capture the rendered output for use with the model.

      • snyy 2 days ago ago

        Exactly this. Thank you for answering!

  • emblemapp 2 days ago ago

    This looks really cool

  • esafak 2 days ago ago

    Why does the 'Quality vs Cost of Web Content Extraction' chart not have zero cost at the origin? Up to the right does not have to mean better; we can read.

    • snyy 2 days ago ago

      Funnily enough, that wasn't my first choice either. I A/B tested it with a small group and people understood "up and to the right is better" faster.

  • vishalkundar 2 days ago ago

    Very interesting