Computer >> कंप्यूटर ट्यूटोरियल >  >> सॉफ्टवेयर >> ब्राउज़र्स

कुशल वेब स्क्रैपिंग:जावास्क्रिप्ट के साथ डेटा निकालने और संग्रहीत करने के लिए ब्राउज़र कंसोल का उपयोग करें

कुशल वेब स्क्रैपिंग:जावास्क्रिप्ट के साथ डेटा निकालने और संग्रहीत करने के लिए ब्राउज़र कंसोल का उपयोग करें <पी> प्रवीण दुबे

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

<पी> यहीं पर मैंने ब्राउज़र कंसोल एपीआई के साथ यह बढ़िया चीज़ सीखी। आप इसे बिना अधिक सेटअप के किसी भी वेबसाइट पर उपयोग कर सकते हैं, क्योंकि यह केवल जावास्क्रिप्ट है।

<पी> आइए तकनीकी विवरणों पर गौर करें।

उच्च स्तरीय अवलोकन

<पी> कुशल वेब स्क्रैपिंग:जावास्क्रिप्ट के साथ डेटा निकालने और संग्रहीत करने के लिए ब्राउज़र कंसोल का उपयोग करें

<पी> किसी पृष्ठ पर सभी लिंक क्रॉल करने के लिए, मैंने कंसोल में JS का एक छोटा सा टुकड़ा लिखा। यह जावास्क्रिप्ट सभी लिंक्स को क्रॉल करता है (1-2 घंटे लगते हैं, क्योंकि यह पेजिनेशन भी करता है) और json को डंप करता है सभी क्रॉल किए गए डेटा के साथ फ़ाइल। ध्यान रखने वाली बात यह है कि आपको यह सुनिश्चित करना होगा कि वेबसाइट सिंगल पेज एप्लिकेशन के समान ही काम करे। अन्यथा, यदि आप एक से अधिक पेजों को क्रॉल करना चाहते हैं तो यह पेज को पुनः लोड नहीं करता है. यदि ऐसा नहीं होता है, तो आपका कंसोल कोड चला जाएगा।

<पी> मीडियम कुछ परिदृश्यों के लिए पृष्ठ को ताज़ा नहीं करता है। अभी के लिए, आइए एक कहानी को क्रॉल करें और स्क्रैप किए गए डेटा को स्क्रैपिंग के बाद स्वचालित रूप से कंसोल से एक फ़ाइल में सहेजें।

<पी> लेकिन ऐसा करने से पहले यहां अंतिम निष्पादन का एक त्वरित डेमो है।

<पी> कुशल वेब स्क्रैपिंग:जावास्क्रिप्ट के साथ डेटा निकालने और संग्रहीत करने के लिए ब्राउज़र कंसोल का उपयोग करें डेमो

1. ब्राउज़र से कंसोल ऑब्जेक्ट इंस्टेंस प्राप्त करें

// Console API to clear console before logging new data
console.API;
if (typeof console._commandLineAPI !== 'undefined') { console.API = console._commandLineAPI; //chrome
} else if (typeof console._inspectorCommandLineAPI !== 'undefined'){ console.API = console._inspectorCommandLineAPI; //Safari
} else if (typeof console.clear !== 'undefined') { console.API = console;
}
<पी> कोड बस उपयोगकर्ता के वर्तमान ब्राउज़र के आधार पर कंसोल ऑब्जेक्ट इंस्टेंस प्राप्त करने का प्रयास कर रहा है। आप इंस्टेंस को अनदेखा कर सीधे अपने ब्राउज़र को असाइन कर सकते हैं।

<पी> उदाहरण के लिए, यदि आप Chrome का उपयोग कर रहे हैं , नीचे दिया गया कोड पर्याप्त होना चाहिए।

if (typeof console._commandLineAPI !== 'undefined') { console.API = console._commandLineAPI; //chrome
}

2. जूनियर हेल्पर फ़ंक्शन को परिभाषित करना

<पी> मैं मान लूंगा कि आपने अपने ब्राउज़र में अब तक एक मीडियम स्टोरी खोल ली है। पंक्तियाँ 6 से 12 DOM तत्व विशेषताओं को परिभाषित करती हैं जिनका उपयोग कहानी का शीर्षक, क्लैप गिनती, उपयोगकर्ता नाम, प्रोफ़ाइल छवि URL, प्रोफ़ाइल विवरण और कहानी का पढ़ने का समय निकालने के लिए किया जा सकता है। क्रमशः.

<पी> ये बुनियादी चीजें हैं जो मैं इस कहानी के लिए दिखाना चाहता हूं। आप कुछ और तत्व जोड़ सकते हैं जैसे कहानी से लिंक निकालना, सभी छवियां, या लिंक एम्बेड करना।

3. हमारे वरिष्ठ सहायक कार्य को परिभाषित करना - जानवर

<पी> चूँकि हम विभिन्न तत्वों के लिए पृष्ठ को क्रॉल कर रहे हैं, हम उन्हें एक संग्रह में सहेजेंगे। यह संग्रह मुख्य कार्यों में से एक को भेजा जाएगा।

<पी> हमने एक फ़ंक्शन नाम, console.save परिभाषित किया है . इस फ़ंक्शन का कार्य पास किए गए डेटा के साथ एक सीएसवी/जेसन फ़ाइल को डंप करना है।

<पी> यह हमारे डेटा के साथ एक ब्लॉब ऑब्जेक्ट बनाता है। ए Blob ऑब्जेक्ट अपरिवर्तनीय, कच्चे डेटा की फ़ाइल जैसी वस्तु का प्रतिनिधित्व करता है। ब्लॉब्स उस डेटा का प्रतिनिधित्व करते हैं जो जरूरी नहीं कि जावास्क्रिप्ट-मूल प्रारूप में हो।

<पी> क्रिएट ब्लॉब एक लिंक टैग < से जुड़ा हुआ है;a> जिस पर एक क्लिक इवेंट ट्रिगर होता है।

<पी> यहां console.save का त्वरित डेमो दिया गया है एक छोटे array के साथ डेटा के रूप में पारित किया गया।

<पी> कुशल वेब स्क्रैपिंग:जावास्क्रिप्ट के साथ डेटा निकालने और संग्रहीत करने के लिए ब्राउज़र कंसोल का उपयोग करें

<पी> कोड के सभी हिस्सों को एक साथ रखने पर, हमारे पास यही है:

  1. कंसोल एपीआई इंस्टेंस
  2. तत्वों को निकालने के लिए सहायक फ़ंक्शन
  3. फ़ाइल बनाने के लिए कंसोल सेव फ़ंक्शन
<पी> आइए किसी फ़ाइल में डेटा को सहेजने के लिए ब्राउज़र में अपना console.save() निष्पादित करें। इसके लिए आप मीडियम पर एक स्टोरी पर जा सकते हैं और ब्राउज़र कंसोल में इस कोड को निष्पादित कर सकते हैं।

<पी> कुशल वेब स्क्रैपिंग:जावास्क्रिप्ट के साथ डेटा निकालने और संग्रहीत करने के लिए ब्राउज़र कंसोल का उपयोग करें

<पी> मैंने एक पेज से डेटा निकालने का डेमो दिखाया है, लेकिन एक प्रकाशक के होम पेज से कई कहानियों को क्रॉल करने के लिए एक ही कोड में बदलाव किया जा सकता है। फ्रीकोडकैंप का एक उदाहरण लें:आप एक कहानी से दूसरी कहानी पर जा सकते हैं और वापस आ सकते हैं (ब्राउज़र के बैक बटन का उपयोग करके) पृष्ठ को ताज़ा किए बिना प्रकाशक मुख पृष्ठ पर।

<पी> किसी प्रकाशक के होम पेज से कई कहानियाँ निकालने के लिए आवश्यक न्यूनतम कोड नीचे दिया गया है।

<पी> आइए कई कहानियों से प्रोफ़ाइल विवरण प्राप्त करने के लिए कोड को क्रियान्वित करते हुए देखें।

<पी> कुशल वेब स्क्रैपिंग:जावास्क्रिप्ट के साथ डेटा निकालने और संग्रहीत करने के लिए ब्राउज़र कंसोल का उपयोग करें

<पी> ऐसे किसी भी प्रकार के एप्लिकेशन के लिए, एक बार जब आप डेटा स्क्रैप कर लेते हैं, तो आप इसे हमारे console.save पर भेज सकते हैं कार्य करें और इसे एक फ़ाइल में संग्रहीत करें। <पी> कंसोल सेव फ़ंक्शन को आपके कंसोल कोड से तुरंत जोड़ा जा सकता है और फ़ाइल में डेटा डंप करने में आपकी सहायता कर सकता है। मैं यह नहीं कह रहा हूं कि आपके पास है डेटा को स्क्रैप करने के लिए कंसोल का उपयोग करना, लेकिन कभी-कभी यह एक तेज़ तरीका होगा क्योंकि हम सभी सीएसएस चयनकर्ताओं का उपयोग करके DOM के साथ काम करने से बहुत परिचित हैं।

<पी> आप Github

से कोड डाउनलोड कर सकते हैं <पी> इस लेख को पढ़ने के लिए धन्यवाद! आशा है कि इससे आपको बिना अधिक सेटअप के कुछ डेटा को शीघ्रता से स्क्रैप करने का अच्छा विचार मिला होगा। अगर मजा आया तो ताली का बटन दबाएँ! यदि आपके कोई प्रश्न हैं, तो मुझे एक ईमेल भेजें (praveend806 [at] gmail [dot] com)।

कंसोल के बारे में अधिक जानने के लिए संसाधन:

<पी> कंसोल का उपयोग करना | वेब डेवलपर्स के लिए उपकरण | Google डेवलपर्स
_Chrome DevTools JavaScript कंसोल को नेविगेट करना सीखें।_developers.google.comब्राउज़र कंसोल
_ब्राउज़र कंसोल वेब कंसोल की तरह है, लेकिन एकल सामग्री टैब के बजाय पूरे ब्राउज़र पर लागू होता है।_developer.mozilla.orgब्लॉब
_ब्लॉब ऑब्जेक्ट अपरिवर्तनीय, कच्चे डेटा की फ़ाइल जैसी ऑब्जेक्ट का प्रतिनिधित्व करता है। ब्लॉब्स उस डेटा का प्रतिनिधित्व करते हैं जो जरूरी नहीं कि…_developer.mozilla.org

में हो <पी> मुफ़्त में कोड करना सीखें. फ्रीकोडकैंप के ओपन सोर्स पाठ्यक्रम ने 40,000 से अधिक लोगों को डेवलपर्स के रूप में नौकरी पाने में मदद की है। आरंभ करें


  1. नए जीमेल के साथ ट्रेलो का उपयोग कैसे करें नए जीमेल के साथ ट्रेलो का उपयोग कैसे करें

    1.2 अरब से ज्यादा यूजर्स ने जीमेल को अपने जीवन का हिस्सा बना लिया है। कई तृतीय-पक्ष ऐड-ऑन और ब्राउज़र एक्सटेंशन ने विनम्र ईमेल इनबॉक्स को हमारी रोज़मर्रा की उत्पादकता का मुख्य हिस्सा बनने में मदद की है। आइए नए जीमेल और आधिकारिक ऐड-ऑन पर एक और नज़र डालें जो अतीत के एक्सटेंशन की तुलना में इनबॉक्स के

  1. 2022 के 15 सर्वश्रेष्ठ ओपन वर्ल्ड गेम्स :गेम को अपने तरीके से एक्सप्लोर करें 2022 के 15 सर्वश्रेष्ठ ओपन वर्ल्ड गेम्स :गेम को अपने तरीके से एक्सप्लोर करें

    कैसे खिलाड़ियों को निर्धारित खेल दिशानिर्देशों पर शासन करने और अपनी इच्छा के अनुसार आभासी क्षेत्र में घूमने का मौका मिल रहा है? यह दिलचस्प लगता है, है ना? यह सबसे अच्छा ओपन-वर्ल्ड गेम आपको देगा। कहानियों और मिशनों की खोज करने और खोजों पर जीत हासिल करने से, खिलाड़ी अपनी गति और शैली का पता लगाने के लि

  1. YouTube वीडियो को अपने आप कैसे दोहराएं (लूप) YouTube वीडियो को अपने आप कैसे दोहराएं (लूप)

    क्या जानना है वेब ब्राउज़र में, वीडियो पर राइट-क्लिक करें या देर तक दबाएं और लूप . चुनें । ListenOnRepeat का उपयोग करके, वीडियो के URL को खोज बॉक्स में पेस्ट करें और Enter दबाएं । यह लेख बताता है कि किसी YouTube वीडियो को किसी वेब ब्राउज़र में या Windows, Mac, Linux, iOS और Android ऑपरेटिंग सिस्ट