Live data from Hacker News

Viewing profile — andrew_zhong

andrew_zhong

HN member
Joined
Fri, Mar 04, 2022, 9:33 PM UTC
HN karma
19
Public activity
33 items

About andrew_zhong

Building LightFeed - News Hub powered by LLM and Revar Immersive - a gaming platform that teach children coding

Recent public activity

  1. story
    Show HN: Resurf – realistic, reproducible test framework for AI browser agents

    Systematic testing of browser agents today is not easy: testing on real websites is flaky, rate-limited and potentially expensive (e.g. using proxies or bypassing Captcha), while s…

  2. story
  3. story
  4. story
    Show HN: HTML to Markdown with CSS selector & XPath annotations for LLM Scraper

    HTML-to-Markdown converters produce clean, readable content for both humans and LLMs — but the DOM structure is lost along the way. You can always feed Markdown to an LLM to extrac…

  5. comment
    Comment #47555926

    You can use a browser automation library for rendering JS + interaction (like click collapse button) and then use this library to extract the HTML after interaction. Here is an exa…

  6. comment
    Comment #47534258

    [Update]] I will replace the stealth browser with plain playwright and remove anti-bot as a feature.

  7. comment
    Comment #47534243

    I hear you loud and clear - will replace the stealth browser with plain playwright and remove anti-bot as a feature.

  8. comment
    Comment #47534228

    [Update] I will replace the stealth browser with plain playwright and remove anti-bot as a feature.

  9. comment
    Comment #47531689

    I agree that When pages have similar structure, for one time extraction as it is (not reasoning from context), scraping with selectors is the way to go. This library also supports …

  10. comment
    Comment #47531638

    What kind of LLMs are you using? In structured output mode? In this library we recover nullable and optional fields, invalid elements in nested array, bad urls, repair incomplete J…

  11. comment
    Comment #47528542

    Put things to perspective - Gemini 2.5 flash is 0.3/1M tokens - assuming each page is 700 tokens and output is not much you are looking at $210 for 1M pages

  12. comment
    Comment #47528488

    Agreed - in this project I did a one path sanitation to recover invalid optional / nullable fields or discard invalid objects in nested array. I know multi path LLM approaches exis…

  13. comment
    Comment #47528375

    We do see fewer invalid JSONs on latest bigger LLMs but still can happen on smaller and cheaper models. There is also case when input is truncated or a required field not found, wh…

  14. comment
    Comment #47528028

    HTML -> markdown -> LLM is standard practice. We strip elements like aside, embed, head , iframe etc. the criteria is conservatively set to avoid removing too many elements (especi…

  15. comment
    Comment #47527781

    In context of e-commerce web extraction, invalid JSON can occur especially in edge cases, for example: price: z.number().optional() -> price: “n/a” url: z.string().url().nullable()…

  16. comment
    Comment #47527617

    I will add a PR to enforce robots.txt before the actual scraping.

  17. comment
    Comment #47527589

    We do respect robots.txt production - also scraping browser providers like BrightData enforces that. I will add a PR to enforce robots.txt before the actual scraping.

  18. comment
    Comment #47527180

    The anti-bot patches here (via Patchright) are about preventing the browser from being detected as automated — fixing CDP leaks, removing automation flags, etc. For sites behind Cl…

  19. comment
    Comment #47527090

    Yeah that's a good observation. XML's closing tags give the model structural anchors during generation — it knows where it is in the nesting. JSON doesn't have that, so the deeper …

  20. comment
    Comment #47527075

    Good point. The anti-bot patches here (via Patchright) are about preventing the browser from being detected as automated — things like CDP leak fixes so Cloudflare doesn't block yo…

  21. comment
    Comment #47527073

    Good point. The anti-bot patches here (via Patchright) are about preventing the browser from being detected as automated — things like CDP leak fixes so Cloudflare doesn't block yo…

  22. story
    Show HN: Robust LLM extractor for websites in TypeScript

    We've been building data pipelines that scrape websites and extract structured data for a while now. If you've done this, you know the drill: you write CSS selectors, the site chan…

  23. story
  24. story
    Show HN: Robust LLM Extractor for HTML/Markdown in TypeScript

    While working with LLMs for structured web data extraction, we saw issues with invalid JSON and broken links in the output. This led me to build a library focused on robust extract…

  25. comment
    Comment #40394311

    Thank you for the feedback. Our intention is to let users try for 10 days without commitment (no credit card required), so that after 10 days they can choose to subscribe or not. I…