मैं अब लगभग 3 महीने से वेब स्क्रैपिंग कर रहा हूं, और मैंने देखा है कि वेबसाइटों के बदलने के कारण मेरे कई मकड़ियों को लगातार बेबीसैट की आवश्यकता होती है। मैं अपनी साइटों को परिमार्जन करने के लिए स्क्रैपी, पायथन और क्रॉलरा का उपयोग करता हूं। उदाहरण के लिए, 2 सप्ताह पहले मैंने एक मकड़ी बनाई थी और वेबसाइट द्वारा अपने मेटाटैग को एकवचन से बहुवचन में बदलने के कारण बस इसे फिर से बनाना पड़ा (इसलिए स्थान स्थान बन गया)। इतना छोटा परिवर्तन वास्तव में मेरे मकड़ियों के साथ खिलवाड़ करने में सक्षम नहीं होना चाहिए, इसलिए मैं अपने संग्रह को आगे बढ़ाने के लिए अधिक रक्षात्मक दृष्टिकोण अपनाना चाहूंगा। क्या किसी के पास कम बच्चा सम्भालने की अनुमति देने के लिए वेब स्क्रैपिंग के लिए कोई सलाह है? आपका अग्रिम में ही बहुत धन्यवाद!

0
pbthehuman 11 जिंदा 2021, 19:39

1 उत्तर

सबसे बढ़िया उत्तर

चूंकि आपने कोई कोड पोस्ट नहीं किया है, इसलिए मैं केवल सामान्य सलाह दे सकता हूं।

  1. देखें कि क्या कोई छिपा हुआ API है जो आपके द्वारा खोजे जा रहे डेटा को पुनः प्राप्त करता है। पेज को क्रोम में लोड करें। F12 से निरीक्षण करें और नेटवर्क टैब के अंतर्गत देखें। CTRL + F क्लिक करें और आप स्क्रीन पर दिखाई देने वाले टेक्स्ट को खोज सकते हैं जिसे आप एकत्र करना चाहते हैं। यदि आपको नेटवर्क टैब के अंतर्गत कोई फ़ाइल मिलती है जिसमें डेटा जेसन के रूप में है, तो यह अधिक विश्वसनीय है क्योंकि वेबपेज का बैकएंड फ्रंटएंड की तुलना में कम बार-बार बदलेगा।

  2. चयनकर्ताओं के साथ कम विशिष्ट रहें। body > .content > #datatable > .row::text करने के बजाय आप #datatable > .row::text में बदल सकते हैं। तब आपके मकड़ी के छोटे बदलावों पर टूटने की संभावना कम होगी।

  3. try except के साथ त्रुटियों को संभालें ताकि यदि आप उम्मीद कर रहे हैं कि कुछ डेटा असंगत हो सकता है तो संपूर्ण पार्स फ़ंक्शन को समाप्त होने से रोकें।

1
Felix Eklöf 11 जिंदा 2021, 21:59
मैं टिप्पणी की सराहना करता हूँ! मैंने कोड साझा नहीं किया क्योंकि यह एक अधिक सामान्य चर्चा प्रश्न है। आपकी प्रतिक्रिया के लिए आपका धन्यवाद!
 – 
pbthehuman
11 जिंदा 2021, 23:15