ওয়েব ডেটা স্ক্র্যাপিং
ওয়েব স্ক্র্যাপিং না শিখে — AI কে বলো কী ডেটা চাই, বাকিটা সে করবে
डेटा स्क्र्याप गर्न चाहन्छु, यो किन यो गाह्रो छ
तपाइ मात्र वेब पृष्ठ डेटा केही सजाउन चाहन्छु, परिणाम खोज सुरु: अनुरोध, सुन्दर सूप, XPath, CSS चयनकर्ता……मात्र शब्दावली आधा मानिस निराश हुन सक्छ।
भाग्यवश ट्यूटोरियल अनुसार चलायो, दोस्रो दिन वेबसाइट Cloudflare प्रमाणीकरण थप्यो, IP ब्लक भयो, प्रमाणीकरण कोड पप अप भयो, सीधै खराब।
डेटा स्क्र्याप भयो बस, ढाँचा एक ठूलो गडबड——केही क्षेत्र HTML ट्याग लेकर आउछ, केही कीमत पैसा चिन्ह लेकर आउछ, केही मिति ढाँचा तीन चार प्रकार मिश्रित। डेटा सफाइ को समय स्क्र्यापिङ समय भन्दा बढी, वास्तव मा मृत्यु।
स्क्र्यापर प्रविधि सिक्न आवश्यक छैन, सीधै OpenClaw लाई भन्नु तपाइ कुन वेब पृष्ठ को कुन क्षेत्र स्क्र्याप गर्न चाहन्छु, यो स्वचालित रूप पृष्ठ संरचना विश्लेषण गर्नेछ, पूर्ण स्क्र्यापर स्क्रिप्ट बनाउनेछ।
विरोधी-स्क्र्यापर? यो जान्दै छ कसरी दैवीय विलम्ब थप्न, उपयोगकर्ता-एजेन्ट घुमाउन, गतिशील लोडिङ व्यवस्थापन गर्न। पृष्ठ परिवर्तन? भन्नु यो कति पृष्ठ स्क्र्याप गर्न चाहन्छु, स्वचालित पृष्ठ परिवर्तन तर्क समाधान गर्नेछ।
स्क्र्याप गरी डेटा सीधै साफ संगठित ढाँचा: CSV, JSON, Excel जे चाहिन्छ छान्नु हुन्छ। वेबसाइट नयाँ गरी बनाइएको चिन्ता नगर, फिर चलाउनु, यो नयाँ पृष्ठ संरचना आफै मिलाइ लिनेछ।
3 प्रकारको स्क्र्याप प्रम्पट, लिएर गा प्रयोग गर्न सक्नु हुन्छ
शुरु देखि उन्नत, सबैभन्दा साधारण स्क्र्यापिङ अवस्थिति कभर गर्छन्।
मेरो लागि डौबान शीर्ष 250 चलचित्र डेटा स्क्र्याप गर:
यूआरएल: https://movie.douban.com/top250
स्क्र्याप गरी क्षेत्र:
- चलचित्र नाम (चिनियाँ नाम + अंग्रेजी नाम)
- डौबान स्कोर
- रायि दिनेको संख्या
- निर्देशक
- रिलीज वर्ष
- एक वाक्य मा समीक्षा
आवश्यकता:
१. स्वचालित पृष्ठ परिवर्तन, सब 250 चलचित्र स्क्र्याप गर
२. प्रत्येक अनुरोध 2-3 सेकेन्ड विलम्ब, बहुत तेजी नहीं
३. रायि दिनेको संख्या सिर्फ संख्या राख, "व्यक्ति राय" प्रकारको पाठ हटा
४. CSV फाइलमा सेभ गर, स्कोर अनुसार उच्च देखि निम्न साज
मेरो लागि एक प्रतिद्वन्द्वी कीमत निरीक्षण स्क्रिप्ट लिख:
निरीक्षण लक्ष्य (5 प्रतिद्वन्द्वी कीमत निर्धारण पृष्ठ):
- [प्रतिद्वन्द्वी A कीमत पृष्ठ यूआरएल]
- [प्रतिद्वन्द्वी B कीमत पृष्ठ यूआरएल]
- [प्रतिद्वन्द्वी C कीमत पृष्ठ यूआरएल]
- [प्रतिद्वन्द्वी D कीमत पृष्ठ यूआरएल]
- [प्रतिद्वन्द्वी E कीमत पृष्ठ यूआरएल]
कार्यकारिता आवश्यकता:
१. हरेक दिन बिहान 9 बजे स्वचालित रूप प्रत्येक प्रतिद्वन्द्वी को बर्तमान कीमत स्क्र्याप गर
२. काल को कीमत सथ तुलना गर, परिवर्तन हुदा लाल चिन्ह लगा
३. स्थानीय SQLite मा डेटा सेभ गर, आगामी खोज सुविधा
४. हरेक हप्ता कीमत परिवर्तन प्रवृत्ति चार्ट बनाउ (matplotlib)
५. कीमत 5% अतिक्रम गर्छ भने, सतर्कता लग आउटपुट गर
समय सूची गर्न समय सारणी प्रयोग गर, स्क्र्याप अनुरोध + सुन्दर सूप प्रयोग गर।
अपवाद व्यवस्थापन जोड, नेटवर्क समय अतिक्रम वा पृष्ठ परिवर्तन खराब हुनेछैन।
मेरो लागि यो वेब पृष्ठमा टेबिल डेटा निकाल गर:
यूआरएल: [वेब लिङ्क टाँस]
आवश्यकता:
१. स्वचालित रूप पृष्ठमा सब टेबिल पहिचान गर
२. टेबिल डेटा एक्सेल ढाँचामा सज
३. हरेक टेबिल अलग शीट, शीट नाम टेबिल शीर्षक
४. शीर्ष राख, डेटा ढाँचा स्वचालित पहिचान गर (संख्या, मिति, प्रतिशत)
५. ~/data/extracted_tables.xlsx को रूप मा सेभ गर
डेटा स्क्र्यापिङ: OpenClaw बनाम अक्टोपस/रेलवे इञ्जिन
दृश्य स्क्र्यापर शुरु छिटो, तर छत बहुत निम्न।
- चिनियाँमा आवश्यकता वर्णन गर, कृत्रिम बुद्धिमत्ता स्वचालित स्क्र्यापर कोड बनाउनेछ
- कोड पूर्ण स्वच्छ, तर्क परिवर्तन गर्न चाहन्छु कहिले पनि परिवर्तन गर
- JS गतिशील प्रस्तुति, लगइन अवस्थिति, विभिन्न विरोधी-स्क्र्यापर सम्भाल्न सक्छ
- डेटा सफाइ र स्क्र्यापिङ एक कदम, दोस्रो पटक प्रसंस्करण आवश्यक छैन
- स्क्रिप्ट सीधै सर्भरमा तैनात गर समय काम चलाउ, शून्य अतिरिक्त खर्च
- ভিজ্যুয়াল ক্লিক কনফিগ, সত্যিই সহজ শুরু করা যায়
- কিন্তু জটিল পেজে প্রায় কনফিগ করতে পারা যায় না
- JS রেন্ডার করা পেজে মোটামুটি অন্ধ
- ডেটা ক্লিনিং ক্ষমতা সীমিত, এক্সপোর্ট করার পরেও আবার প্রসেস করতে হয়
- শিডিউল করা কাজে পেইড ভার্সন লাগে, বছরে হাজার হাজার টাকা
ওয়েব স্ক্রেপিং সেফটি সেটআপ
স্ক্রেপিং শুরু করার আগে এই সেফটি সেটিংস কনফিগ করে রাখো।
# স্ক্রেপিং প্রজেক্ট রেকমেন্ডেড কনফিগ
sandbox:
network: true # নেটওয়ার্ক এক্সেস অনুমতি
timeout: 300 # ডেটা সংগ্রহে কয়েক মিনিট লাগতে পারে
allowed_paths:
- ~/data/ # ডেটা স্টোরেজ ডিরেক্টরি
scraping:
respect_robots_txt: true # robots.txt নিয়ম মেনে চলো
request_delay: 2 # রিকোয়েস্ট ইন্টারভাল (সেকেন্ড), খুব দ্রুত করবে না
max_retries: 3 # ফেইল করলে রিট্রাই সংখ্যা
user_agent_rotate: true # ইউজার-এজেন্ট অটো রোটেট
timeout_per_request: 30 # প্রতিটি রিকোয়েস্ট টাইমআউট (সেকেন্ড)
python:
packages:
- requests
- beautifulsoup4
- selenium # JS রেন্ডার প্রয়োজনীয় পেজের জন্য
- pandas # ডেটা অর্গানাইজ এবং এক্সপোর্ট
কমপ্লায়েন্স রিমাইন্ডার
१. টার্গেট ওয়েবসাইটের robots.txt চেক করো প্রথমে, যেই পাথ ব্লক করা আছে সেখানে যেবে না।
२. স্ক্রেপিং ফ্রিকোয়েন্সি কন্ট্রোল করো, সার্ভার ক্র্যাশ করাবে না।
३. ব্যক্তিগত তথ্য (ফোন, ইমেইল ইত্যাদি) খুবই সতর্কতার সাথে, লিগ্যাল বেসিস আছে কিনা নিশ্চিত করো।
४. স্ক্র্যাপ করা ডেটা কমার্শিয়াল কাজে ব্যবহারের আগে আইনজীবীর পরামর্শ নিও।