Thursday, April 24, 2025

Crawl4ai का उपयोग करके एसिंक्रोनस वेब डेटा निष्कर्षण के लिए एक कोडिंग गाइड: एक ओपन-सोर्स वेब क्रॉलिंग और स्क्रैपिंग टूलकिट जिसे एलएलएम वर्कफ़्लोज़ के लिए डिज़ाइन किया गया है – Gadgets Solutions

-

इस ट्यूटोरियल में, हम प्रदर्शित करते हैं कि Google Colab के भीतर सीधे वेब पेजों से संरचित डेटा निकालने के लिए एक आधुनिक, पायथन, आधारित वेब क्रॉलिंग टूलकिट को क्रॉल 4ai का दोहन करना। एसिंक्रोनस I/O, HTTPX के लिए HTTPX के लिए Asyncio की शक्ति का लाभ उठाते हुए, और Crawl4ai के निर्मित as asynchttpcrawlerstrategy में, हम जोंससेक्सैक्ट्रैक्ट्रैक्ट्री के माध्यम से जटिल HTML को पार्सिंग करते हुए हेडलेस ब्राउज़र्स के ओवरहेड को बायपास करते हैं। कोड की केवल कुछ पंक्तियों के साथ, आप निर्भरता (CRAWL4AI, HTTPX) स्थापित करते हैं, HTTPCRAWLERCONFIG को केवल GZIP/DEFLATE (BROTLI मुद्दों से परहेज) का अनुरोध करने के लिए कॉन्फ़िगर करें, अपने CSS – को – JSON स्कीमा को परिभाषित करें, और क्रॉल के माध्यम से क्रॉल और क्रॉलर्रिंक को ऑर्केस्ट्रेट करें। अंत में, निकाले गए JSON डेटा को तत्काल विश्लेषण या निर्यात के लिए पांडा में लोड किया जाता है।

Crawl4ai को अलग करने वाला इसका एकीकृत API है, जो ब्राउज़र-आधारित (नाटककार) और HTTP-only रणनीतियों, इसके मजबूत त्रुटि-हैंडलिंग हुक और इसके घोषणात्मक निष्कर्षण स्कीमा के बीच मूल रूप से स्विच करता है। पारंपरिक हेडलेस-ब्राउज़र वर्कफ़्लोज़ के विपरीत, Crawl4ai आपको सबसे हल्के और परफॉर्मेंट बैकएंड का चयन करने की अनुमति देता है, जिससे यह स्केलेबल डेटा पाइपलाइनों के लिए आदर्श है, नोटबुक में ऑन-द-फ्लाई ईटीएल, या क्लीन JSON/CSV आउटपुट के साथ एलएलएम और एनालिटिक्स टूल फीडिंग करता है।

!pip install -U crawl4ai httpx

सबसे पहले, हम HTTPX के साथ Crawl4ai, कोर एसिंक्रोनस क्रॉलिंग फ्रेमवर्क को स्थापित (या अपग्रेड करते हैं)। यह उच्च-प्रदर्शन HTTP क्लाइंट उन सभी बिल्डिंग ब्लॉकों को प्रदान करता है जिन्हें हमें सीधे COLAB में हल्के, अतुल्यकालिक वेब स्क्रैपिंग के लिए आवश्यक है।

import asyncio, json, pandas as pd
from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, HTTPCrawlerConfig
from crawl4ai.async_crawler_strategy import AsyncHTTPCrawlerStrategy
from crawl4ai.extraction_strategy import JsonCssExtractionStrategy

हम पायथन के कोर async और डेटा and हैंडलिंग मॉड्यूल में लाते हैं, सहमति के लिए asyncio, पार्सिंग के लिए JSON, और टेबुलर स्टोरेज के लिए पांडा, Crawl4ai की अनिवार्यताओं के साथ: क्रॉल, क्रॉलर्रुंफिग और httpcrawlerconfig के लिए asyncwebcrawler ब्राउज़र – मुक्त HTTP Backend, और JSONCSSEXTRACTIONSTRATEGY CSS चयनकर्ताओं को संरचित JSON में मैप करने के लिए।

http_cfg = HTTPCrawlerConfig(
    method="GET",
    headers={
        "User-Agent":      "crawl4ai-bot/1.0",
        "Accept-Encoding": "gzip, deflate"
    },
    follow_redirects=True,
    verify_ssl=True
)
crawler_strategy = AsyncHTTPCrawlerStrategy(browser_config=http_cfg)

यहां, हम एक HTTPCRAWLERCONFIG को अपने HTTP क्रॉलर के व्यवहार को परिभाषित करने के लिए इंस्टेंट करते हैं, केवल एक कस्टम उपयोगकर्ता-एजेंट, GZIP/डिफ्लेट एन्कोडिंग, स्वचालित रीडायरेक्ट्स और SSL सत्यापन के साथ एक अनुरोध का उपयोग करते हुए। फिर हम उस asynchttpcrawlerstrategy में प्लग करते हैं, जिससे Crawl4ai को एक पूर्ण ब्राउज़र के बजाय शुद्ध HTTP कॉल के माध्यम से क्रॉल चलाने की अनुमति मिलती है।

schema = {
    "name": "Quotes",
    "baseSelector": "div.quote",
    "fields": (
        {"name": "quote",  "selector": "span.text",      "type": "text"},
        {"name": "author", "selector": "small.author",   "type": "text"},
        {"name": "tags",   "selector": "div.tags a.tag", "type": "text"}
    )
}
extraction_strategy = JsonCssExtractionStrategy(schema, verbose=False)
run_cfg = CrawlerRunConfig(extraction_strategy=extraction_strategy)

हम प्रत्येक उद्धरण ब्लॉक (div.quote) और उसके बाल तत्वों (spanext, small.author, div.tags a.tag) को लक्षित करते हुए एक JSON – CSS निष्कर्षण स्कीमा को परिभाषित करते हैं, फिर उस स्कीमा के साथ एक jsoncssextractionstrategy को इनिशियलाइज़ करता है, और इसे एक क्रॉलरुंफिग में लपेटता है, जो कि एकजुट डेटा को पता चलता है।

async def crawl_quotes_http(max_pages=5):
    all_items = ()
    async with AsyncWebCrawler(crawler_strategy=crawler_strategy) as crawler:
        for p in range(1, max_pages+1):
            url = f"https://quotes.toscrape.com/page/{p}/"
            try:
                res = await crawler.arun(url=url, config=run_cfg)
            except Exception as e:
                print(f"❌ Page {p} failed outright: {e}")
                continue


            if not res.extracted_content:
                print(f"❌ Page {p} returned no content, skipping")
                continue


            try:
                items = json.loads(res.extracted_content)
            except Exception as e:
                print(f"❌ Page {p} JSON‑parse error: {e}")
                continue


            print(f"✅ Page {p}: {len(items)} quotes")
            all_items.extend(items)


    return pd.DataFrame(all_items)

अब, यह एसिंक्रोनस फ़ंक्शन HTTP को केवल क्रॉल करता है: यह हमारे asynchttpcrawlerstrategy के साथ एक asyncwebcrawler को फैलाता है, प्रत्येक पेज URL के माध्यम से पुनरावृत्त करता है, और सुरक्षित रूप से क्रॉलर।

df = asyncio.get_event_loop().run_until_complete(crawl_quotes_http(max_pages=3))
df.head()

अंत में, हम CRAWL_QUOTES_HTTP COROUTINE को COLAB के मौजूदा Asyncio लूप पर किक करते हैं, तीन पृष्ठों के उद्धरण प्राप्त करते हैं, और फिर परिणामस्वरूप पांडा डेटाफ्रेम की पहली कुछ पंक्तियों को प्रदर्शित करते हैं ताकि यह सत्यापित किया जा सके कि हमारे क्रॉलर ने अपेक्षित रूप से संरचित डेटा लौटा दिया।

अंत में, Google Colab के शून्य-कॉन्फिग वातावरण को पायथन के अतुल्यकालिक पारिस्थितिकी तंत्र और Crawl4ai की लचीली रेंगने की रणनीतियों के साथ मिलाकर, हमने अब मिनटों में वेब डेटा को स्क्रैप करने और संरचित करने के लिए पूरी तरह से स्वचालित पाइपलाइन विकसित की है। चाहे आपको उद्धरणों के एक त्वरित डेटासेट को स्पिन करने की आवश्यकता है, एक ताज़ा समाचार rach आर्काइव का निर्माण करें, या एक रैग वर्कफ़्लो को पावर करें, क्रॉल 4AI का मिश्रण HTTPX, ASYNCIO, JSONCSSEXTRACTIONSTRATEGY, और ASYNCHTTPCRAWLERSTRATETRATERTRATEGY दोनों सादगी और स्केलेबिलिटी प्रदान करता है। शुद्ध HTTP क्रॉल से परे, आप अपने निष्कर्षण तर्क को फिर से लिखने के बिना Playright obriven ब्राउज़र ऑटोमेशन को तुरंत पिवट कर सकते हैं, यह रेखांकित करते हुए कि क्रॉल 4AI को आधुनिक, उत्पादन – तैयार वेब डेटा निष्कर्षण के लिए फ्रेमवर्क के रूप में क्यों बाहर खड़ा किया गया है।


यह रहा कोलैब नोटबुक। इसके अलावा, हमें फॉलो करना न भूलें ट्विटर और हमारे साथ जुड़ें तार -चैनल और लिंक्डइन जीआरओयूपी। हमारे साथ जुड़ने के लिए मत भूलना 90K+ एमएल सबरेडिट

🔥


Crawl4ai का उपयोग करके एसिंक्रोनस वेब डेटा निष्कर्षण के लिए एक कोडिंग गाइड: एक ओपन-सोर्स वेब क्रॉलिंग और स्क्रैपिंग टूलकिट जिसे एलएलएम वर्कफ़्लोज़ के लिए डिज़ाइन किया गया है
 – Gadgets Solutions

निखिल मार्कटेकपोस्ट में एक प्रशिक्षु सलाहकार है। वह भारतीय प्रौद्योगिकी संस्थान, खड़गपुर में सामग्रियों में एक एकीकृत दोहरी डिग्री का पीछा कर रहा है। निखिल एक एआई/एमएल उत्साही है जो हमेशा बायोमैटेरियल्स और बायोमेडिकल साइंस जैसे क्षेत्रों में अनुप्रयोगों पर शोध कर रहा है। भौतिक विज्ञान में एक मजबूत पृष्ठभूमि के साथ, वह नई प्रगति की खोज कर रहा है और योगदान करने के अवसर पैदा कर रहा है।

LEAVE A REPLY

Please enter your comment!
Please enter your name here

FOLLOW US

150,000FansLike
35,000FollowersFollow
100,000SubscribersSubscribe

Related Stories

Translate »