- OpenAI के नए structured output फीचर का उपयोग करके AI-सहायित वेब स्क्रैपर बनाने के अनुभव का सारांश देने वाला लेख
GPT-4o से डेटा स्क्रैप करने के लिए कहना
- पहला प्रयोग GPT-4o से HTML string में से डेटा निकालने के लिए कहने का था
- structured output सेट करने के लिए Pydantic model का उपयोग किया गया
from typing import List, Dict class ParsedColumn(BaseModel): name: str values: List[str] class ParsedTable(BaseModel): name: str columns: List[ParsedColumn] - system prompt इस प्रकार था:
आप वेब स्क्रैपिंग विशेषज्ञ हैं। आपको HTML table की सामग्री लेकर structured data निकालना है
जटिल टेबल को पार्स करना
- सरल टेबल पर प्रयोग के बाद, Weather.com के 10-दिवसीय मौसम पूर्वानुमान जैसे जटिल टेबल का परीक्षण किया गया
- GPT-4o ने
Day/Nightकॉलम जोड़कर डेटा को सटीक रूप से पार्स किया Conditionकॉलम वेबसाइट पर दिखाई नहीं दे रहा था, इसलिए पहले इसे hallucination समझा गया, लेकिन source code की जाँच करने पर पता चला कि वह टैग वास्तव में मौजूद था
merged rows मॉडल को बिगाड़ देती हैं
- Wikipedia की एक सरल टेबल (Human Development Index) का परीक्षण किया गया, लेकिन merged rows की वजह से मॉडल विफल रहा
- system prompt को बदलकर देखा गया, लेकिन इसका कोई असर नहीं हुआ
GPT-4o से XPath लौटाने के लिए कहना
- OpenAI API कॉल की लागत कम करने के लिए, parsed data के बजाय XPath लौटाने के लिए कहा गया
- लेकिन मॉडल अक्सर गलत XPath लौटाता था या डेटा लौटाने में विफल रहता था
दोनों तरीकों को मिलाना
- डेटा निकालने के बाद, उसे संदर्भ के रूप में इस्तेमाल करके XPath माँगने वाला तरीका आज़माया गया
- इस तरीके ने बेहतर परिणाम दिए, लेकिन images के text में बदल जाने की समस्या आई
GPT-4o बहुत महंगा है
- GPT-4o का उपयोग करके स्क्रैपिंग करना महंगा पड़ता है
- HTML string से अनावश्यक डेटा हटाने वाली cleanup logic जोड़कर लागत घटाई गई
निष्कर्ष और डेमो
- GPT-4o की data extraction quality ने चकित किया, लेकिन लागत की समस्या ने निराश किया
- Streamlit का उपयोग करके एक सरल डेमो दिया गया
- आगे और प्रयोगों के माध्यम से सुधार की काफी गुंजाइश है
GN⁺ का सार
- यह लेख AI का उपयोग करने वाली वेब स्क्रैपिंग की संभावनाओं और सीमाओं की पड़ताल करता है
- यह दिखाता है कि GPT-4o के structured output फीचर का उपयोग करके जटिल टेबल डेटा को सटीक रूप से निकाला जा सकता है
- लागत संबंधी समस्याएँ और कुछ तकनीकी सीमाएँ मौजूद हैं, लेकिन AI-सहायित वेब स्क्रैपिंग टूल्स की संभावनाएँ स्पष्ट दिखती हैं
- समान सुविधाएँ देने वाले अन्य प्रोजेक्ट्स में BeautifulSoup, Scrapy आदि शामिल हैं
1 टिप्पणियां
Hacker News की राय
HTML को किसी सरल फ़ॉर्मैट (जैसे markdown) में बदलकर फिर LLM को देना सफल रहा
structured content (जैसे item lists, simple tables) के लिए LLM की ज़रूरत नहीं होती
यह हैरानी की बात है कि पोस्ट के लेखक ने 99% काम पूरा कर लिया, लेकिन बाकी 1% के लिए ollama डाउनलोड करके टेस्ट नहीं किया
page का screenshot लेकर, ज़रूरी हिस्से को crop करके GPT को देने का तरीका इस्तेमाल किया गया
OpenAI ने हाल ही में Batch API जारी की है
HTML example देकर beautifulsoup code snippet माँगने का तरीका असरदार रहा
यह जिज्ञासा है कि क्या कोई "html reducer" मौजूद है
GPT-4o से सीधे scraping कराने के बजाय GPT-4o से एक simple web scraper script लिखवाई जा सकती है
Kadoa में AI automation web scraping पर काम चल रहा है
एक classical music database बनाया जा रहा है