3 पॉइंट द्वारा GN⁺ 2024-04-15 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • MarkdownDown किसी भी वेबपेज को साफ-सुथरे Markdown डॉक्यूमेंट में बदलने वाला टूल है
  • कन्वर्ज़न रिज़ल्ट में image download को सपोर्ट करता है, जिससे लोकल में सेव की गई images को Markdown से लिंक किया जा सकता है
  • non-content elements removal विकल्प से मुख्य सामग्री से असंबंधित elements को कम किया जा सकता है
  • Markdown आउटपुट पर GPT Filter लागू करने का विकल्प भी देता है
  • वेबपेज कंटेंट को Markdown के रूप में सेव करने या images के साथ व्यवस्थित करने की चाह रखने वाले यूज़र्स के लिए उपयोगी है

वेबपेजों को Markdown में व्यवस्थित करें

  • MarkdownDown वेबपेजों को साफ-सुथरे Markdown में कन्वर्ट करता है
  • कन्वर्ज़न के दौरान images डाउनलोड कर सकता है और रिज़ल्ट में local image links शामिल कर सकता है

कन्वर्ज़न विकल्प

  • मुख्य सामग्री पर केंद्रित सफाई

    • Remove non-content elements विकल्प से गैर-कंटेंट elements हटाए जाते हैं
  • image processing

    • Download images locally and link them विकल्प से images को लोकल में सेव करके लिंक किया जाता है
  • GPT Filter लागू करें

    • Apply GPT Filter on Markdown विकल्प से Markdown रिज़ल्ट पर GPT Filter लागू किया जा सकता है

1 टिप्पणियां

 
GN⁺ 2024-04-15
Hacker News टिप्पणियाँ
  • वेबसाइट को Markdown में बदलने में तीन अलग समस्याएँ होती हैं: पेज कंटेंट को बिना कुछ छोड़े निकालना, विज्ञापन और अतिरिक्त कंटेंट हटाना, और सही लेआउट व सेक्शन फ़ॉर्मैट पाना
    कंटेंट का सटीक extraction और formatting के लिए Trafilatura, Newspaper4k, और python-readability आधारित समाधान default state में सबसे अच्छा काम करते हैं, और बिना कुछ छोड़े संग्रह के लिए scraping services और Selenium का संयोजन अच्छा बैठता है
    यह टूल क्या अलग करता है या बेहतर करता है, यह जानने की उत्सुकता है। इस क्षेत्र में काफ़ी समय से ठहराव था, इसलिए सीखी गई बातें सुनना चाहूँगा

    • खासकर उन environments में जहाँ JavaScript runtime नहीं है या आप उसे इस्तेमाल नहीं करना चाहते, पूरी तरह scraping करना मुश्किल होता है
      कंटेंट extraction में Postlight library का तरीका काफ़ी साफ़-सुथरा था। यह हर HTML node को text length, link density, CSS class जैसी heuristics के आधार पर score देता है और सबसे ऊँचे score वाले node को चुनता है। एक personal read-later app बनाते समय मैंने इसे Swift में port भी किया था
      https://github.com/postlight/parser
    • मेरा article web scraper अभी Playwright और ad blocker पर शिफ्ट होने के बाद पेज पर Mozilla की readability चलाता है, फिर उसके result को LLM जाँचता है
      अगर जाँच fail हो जाए, तो पूरा page HTML context trim किया जाता है, Pandoc से Markdown में बदला जाता है, और फिर LLM Markdown से main body extract करता है
  • Vercel है, तो अब traffic बढ़े तो billing से सावधान रहना होगा। उम्मीद है कि आप इसे Vercel के उस लगातार उकसाने वाले तरीके से इस्तेमाल नहीं कर रहे होंगे

    • पूरे docs में जिस तरह इसका इस्तेमाल push किया जाता है, वह थोड़ा कड़वा लगता है। कई बार सिर्फ WebP ही काफ़ी होता है
      वही bus meme जैसा, खुश तरफ़ users और Vercel हैं, और दुखी तरफ़ wallet
      हाँ, अगर dynamic scaling और shrinking चाहिए, तो बात अलग है
    • असल में इसने काफ़ी अच्छा संभाला और लागत भी लगभग नगण्य रही
      HN traffic संभालने के लिए मैंने अलग से कुछ नहीं किया, बस एक default Next.js app था
  • image download और GPT आधारित filtering देना एक अच्छा idea है
    मैंने पिछले साल ऐसा ही एक tool बनाया था, लेकिन उसमें ये features नहीं हैं: https://url2text.com/
    UI थोड़ा धीमा हो सकता है, लेकिन homepage पर example output देखा जा सकता है
    underlying API, Urlbox का website screenshot API है, लेकिन सीधे इस्तेमाल करने पर performance काफ़ी बेहतर मिलती है। JavaScript-rendered HTML, metadata, screenshot और Markdown को एक साथ request किया जा सकता है: https://urlbox.com/extracting-text
    result को सीधे S3-compatible storage में save भी किया जा सकता है: https://urlbox.com/s3
    webhook के ज़रिए deliver भी कराया जा सकता है: https://urlbox.com/webhooks
    मैं एक side project में Urlbox के Markdown feature से हर महीने 10 लाख से ज़्यादा render कर रहा हूँ, और ऐसा Markdown embeddings और prompts में इस्तेमाल करने के लिए काफ़ी बेहतर है
    अगर पूरे website को इस तरह scrape करना हो, तो dctanner का नया tool भी देखने लायक है: https://usescraper.com/

    • मैं https://usescraper.com का founder हूँ। अब single URL scraping option भी है: https://docs.usescraper.com/api-reference/scraper/scrape
      यह प्रति page $0.001 है और headless Chrome browser इस्तेमाल करता है। result तेज़ आते हैं और जितना इस्तेमाल करो उतना ही भुगतान करना पड़ता है
    • अच्छा लग रहा है, लेकिन url2text में शायद API नहीं है, और urlbox में सिर्फ text चाहिए तो screenshot skip करने का option नहीं दिखता
      अगर सिर्फ text चाहिए, तो यह काफ़ी महँगा लग सकता है
  • अगर वेबसाइट cookie message दिखाती है, तो लगता है यह tool वहीं अटक जाता है और असली content parse नहीं कर पाता
    उदाहरण के लिए https://www.cnbc.com/ डालकर देखा, तो सिर्फ cookie message और उसके आसपास का legal text ही Markdown में बना

    • ऐसी चीज़ों को bypass करना आसान नहीं है, लेकिन इस तरह यह काम कर सकता है: https://url2text.com/u/wYVake
      मैं खुशकिस्मत था कि इसे ऐसे mature API के ऊपर बना पाया, जो अलग-अलग तरह की page rendering से आने वाले कई edge cases पहले से संभालती है
  • सिर्फ htmltidy और Pandoc की HTML→Markdown conversion से भी काफ़ी उपयोगी result मिले
    http://www.html-tidy.org/
    https://pandoc.org/

    • tidy के बारे में पहली बार सुना, promising लग रहा है
      मन हो रहा है कि पूरे final template HTML को इससे चलाकर बची हुई गलत structures ढूँढूँ, लेकिन थोड़ा डर भी लग रहा है। यह कितने structural fixes करता है, उस पर depend करेगा कि इसे test suite में बदला जा सकता है या नहीं
  • मैंने भी बहुत मिलता-जुलता smort.io बनाया है। किसी article URL के आगे smort.io/ जोड़ दें, तो उसे आसानी से edit, annotate और share किया जा सकता है
    यह ArXiv papers पर भी काम करता है
    Smort का Show HN पोस्ट यहाँ है: https://news.ycombinator.com/item?id=30673502

  • मैंने इसे एक complex marketing page पर आज़माया, और इसने बहुत अच्छा handle किया
    अगर साझा कर सकें, तो जानना चाहूँगा कि host पर कितना load पड़ता है। क्या इसे लंबे समय तक free में चलाया जा सकता है, या आखिरकार cost efficiency खराब हो जाएगी?

    • क्योंकि headless Chrome instance चलानी पड़ती है, इसलिए यह थोड़ा भारी है। मैं इस हिस्से को optimize करने की सोच रहा हूँ
      बाकी GPT-4 महँगा है, लेकिन अभी तक लागत लगभग नगण्य रही है, इसलिए उम्मीद है। लगता है इसे लंबे समय तक बनाए रखा जा सकता है
  • यह उन मामलों में से एक है जहाँ AI की ज़रूरत नहीं है। पेज से content निकालने के लिए एक बहुत अच्छा काम करने वाला algorithm मौजूद है, और उसका एक implementation https://github.com/buriy/python-readability है

    • कुछ साल पहले जब मैंने boilerplate removal tools की तुलना की थी, तब मुझे याद है कि default स्थिति में jusText ने सबसे अच्छे नतीजे दिए थे
      readability और कुछ दूसरी libraries भी इस्तेमाल की थीं। आजकल state of the art क्या है, यह जानने की जिज्ञासा है
    • यहाँ AI optional है। Markdown में बदलने से पहले HTML को साफ करने के लिए readability का इस्तेमाल किया जा रहा है
    • पिछली बार जब मैंने readability का इस्तेमाल किया था, तब यह articles पर अच्छी तरह काम करता था, लेकिन दूसरे तरह के pages पर संघर्ष करता था
      यह मेरी इच्छा से कहीं ज़्यादा content हटा देता था
    • मैं जानना चाहता हूँ कि यहाँ केवल उस tool से, AI के बिना, वही काम कैसे हासिल किया जा सकता है
    • सच कहूँ तो मुझे लगा था कि ज़्यादातर हिस्सा black magic होगा, लेकिन project का core तो मेहनत से तैयार किए गए regex के bundle जैसा दिखता है। शानदार
  • हमेशा चकित करने वाला Pandoc(https://pandoc.org/) इस तरह के काम में बहुत अच्छा है। यह practically लगभग हर दूसरे document format को भी support करता है

    • सहमत। Pandoc उन सबसे उपयोगी tools में से है जो मौजूद हैं, फिर भी उसका ज़िक्र बहुत कम होता है
      यह कमाल का है, इस्तेमाल में आसान है, और अच्छी तरह काम करता है। इस क्षेत्र में नए tools अक्सर आते रहते हैं, लेकिन मुझे Pandoc के अलावा कुछ और इस्तेमाल करने के लिए या तो सच में अनोखे और compelling features चाहिए होंगे, या किसी खास use case के लिए बहुत अधिक optimized होना पड़ेगा
  • बढ़िया। काश कोई browser extension होता जो मेरे पढ़े जाने वाले हर page पर इसे लागू करके कहीं store कर देता

    • Firefox के लिए Singlefile: https://addons.mozilla.org/en-US/firefox/addon/single-file/
    • जो विकल्प मैं manually इस्तेमाल करता हूँ, वह Markdown clipper है
      https://github.com/deathau/markdown-clipper
      ऐसे मिलते-जुलते alternative extensions शायद दर्जनों होंगे
    • Wallabag + Obsidian + Wallabag Browser Ext का combo अच्छा है। यह manual trigger है, लेकिन बेहतरीन है
    • Omnivore web archive का इस्तेमाल करके एक copy save करता है
      https://omnivore.app/
    • Pocket, Readwise Reader, Matter जैसी apps क्या पहले से ऐसा नहीं बतातीं
      संपादन: मैंने बहुत जल्दी पढ़ लिया था। automatic और systematic processing वाली बात मुझसे छूट गई थी