वेब स्क्रैपिंग और बॉट · पाठ

बॉट के लिए लॉगिंग और त्रुटि प्रबंधन

संरचित लॉगिंग और सुचारु त्रुटि प्रबंधन जोड़कर मजबूत सरल बॉट बनाइए, ताकि विफलताएँ दिखाई दें और उनसे उबरा जा सके।

पाठ 4, कुल 4 में से13 चरण

बॉट के लिए लॉगिंग और त्रुटि प्रबंधन, CoddyKit पर वेब स्क्रैपिंग और बॉट का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह वेब स्क्रैपिंग और बॉट सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। वेब स्क्रैपिंग और बॉट पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

बॉट को लॉग की आवश्यकता क्यों होती है

बॉट बिना निगरानी के, अक्सर निर्धारित समय पर चलता है। कुछ खराब होने पर आप उसे देख नहीं रहे होते। लॉगिंग एक विवरण-पथ छोड़ती है, जिससे बाद में पता लगाया जा सकता है कि क्या हुआ।

लॉग के बिना कोई शांत विफलता कई दिनों तक अनदेखी रह सकती है।

print() लॉगिंग नहीं है

शुरुआती लोग print() का उपयोग करते हैं, लेकिन इसमें स्तर, समय-चिह्न या किसी फाइल पर आसानी से भेजने का तरीका नहीं होता। Python का logging मॉड्यूल इन सभी समस्याओं को हल करता है।

print('something happened')  # no level, no time, hard to manage

लॉगिंग सेट अप करना

स्टार्टअप के समय एक बार लॉगिंग कॉन्फ़िगर करें। समय-चिह्न और स्तर वाला प्रारूप निर्धारित करें और चुनें कि आउटपुट कहाँ जाएगा।

import logging

logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s %(levelname)s %(message)s'
)
log = logging.getLogger('bot')
log.info('Bot started')

लॉग स्तर

स्तर आपको विवरण की मात्रा नियंत्रित करने देते हैं:

  • DEBUG विस्तृत ट्रेसिंग।
  • INFO सामान्य प्रगति।
  • WARNING कुछ असामान्य, लेकिन जिससे उबरा जा सकता है।
  • ERROR कोई संचालन विफल हुआ।
  • CRITICAL बॉट आगे नहीं चल सकता।
log.debug('fetched 12 rows')
log.warning('retrying after timeout')
log.error('login failed')

फाइल में लॉगिंग

बिना निगरानी वाले बॉट के लिए लॉग को फाइल में लिखें, ताकि बाद में उनकी समीक्षा की जा सके। घूम-घूमकर लिखने वाला हैंडलर फाइल का आकार सीमित रखता है।

from logging.handlers import RotatingFileHandler

handler = RotatingFileHandler('bot.log', maxBytes=1_000_000, backupCount=3)
log.addHandler(handler)

अपवाद पकड़ना

जोखिमपूर्ण संचालन को try/except में लपेटें, ताकि एक विफलता से पूरा निष्पादन बंद न हो। संदर्भ सहित त्रुटि का लॉग बनाएँ।

try:
    submit_form(data)
except Exception as e:
    log.error('form submission failed: %s', e)

पूर्ण ट्रेसबैक लॉग करना

पूरी स्टैक ट्रेस कैप्चर करने के लिए except ब्लॉक के अंदर log.exception का उपयोग करें। यह डीबगिंग के लिए अत्यंत उपयोगी होती है।

try:
    risky()
except Exception:
    log.exception('unexpected error in risky()')

अस्थायी विफलताओं का पुनः प्रयास

नेटवर्क में छोटी रुकावटें आम हैं। हार मानने से पहले उन्हें पकड़ें और कुछ बार पुनः प्रयास करें; हर प्रयास का लॉग बनाएँ।

for attempt in range(3):
    try:
        fetch()
        break
    except ConnectionError:
        log.warning('attempt %d failed, retrying', attempt + 1)
else:
    log.error('all attempts failed')

विफलता को स्पष्ट बनाना

शांत विफलताएँ खतरनाक होती हैं। गंभीर त्रुटियों के लिए कार्रवाई बढ़ाएँ: चेतावनी वाला ईमेल भेजें, संकेतक फाइल लिखें या शून्य से अलग कोड के साथ बाहर निकलें, ताकि शेड्यूलर को पता चल सके।

import sys
if not data:
    log.critical('no data scraped, aborting')
    sys.exit(1)

साफ़-सुथरा बंद होना

त्रुटि होने पर भी संसाधन हमेशा मुक्त करें। finally ब्लॉक या संदर्भ प्रबंधक यह सुनिश्चित करता है कि चाहे कुछ भी गलत हुआ हो, ब्राउज़र बंद हों और फाइलों में लंबित डेटा लिख दिया जाए।

try:
    run_bot()
finally:
    driver.quit()
    log.info('bot finished')

संरचित लॉगिंग संदर्भ

हर लॉग पंक्ति के साथ वर्तमान URL या आइटम आईडी जैसा संदर्भ जोड़ें, ताकि लंबे लॉग को देखते समय तुरंत पता चल जाए कि संदेश किस रिकॉर्ड से संबंधित है।

log.info('scraped item %s from %s', item_id, url)

त्वरित जाँच

बॉट लॉगिंग और त्रुटि प्रबंधन की अपनी समझ जाँचें।

पुनरावलोकन

आपने सरल बॉट को मजबूत बनाना सीखा: print के बजाय logging मॉड्यूल का उपयोग करना, उचित स्तर चुनना, घूमती हुई फाइलों में लॉग लिखना, ट्रेसबैक सहित अपवाद पकड़ना और लॉग करना, अस्थायी त्रुटियों का पुनः प्रयास करना, गंभीर समस्याओं पर विफलता को स्पष्ट बनाना और साफ़-सुथरे ढंग से बंद करना।

शुरुआत निःशुल्क

एआई शिक्षक के साथ Python सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
12
पाठ
48

अक्सर पूछे जाने वाले प्रश्न

क्या “बॉट के लिए लॉगिंग और त्रुटि प्रबंधन” पाठ निःशुल्क है?

हाँ — वेब स्क्रैपिंग और बॉट अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “बॉट के लिए लॉगिंग और त्रुटि प्रबंधन” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। वेब स्क्रैपिंग और बॉट पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“बॉट के लिए लॉगिंग और त्रुटि प्रबंधन” में मैं क्या सीखूँगा?

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

क्या वेब स्क्रैपिंग और बॉट शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर वेब स्क्रैपिंग और बॉट शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।

“बॉट के लिए लॉगिंग और त्रुटि प्रबंधन” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस वेब स्क्रैपिंग और बॉट पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर वेब स्क्रैपिंग और बॉट पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. बॉट के उद्देश्यों को परिभाषित करना
  2. सरल फ़ॉर्म सबमिशन का स्वचालन
  3. मूल कार्यों का निर्धारण
  4. बॉट के लिए लॉगिंग और त्रुटि प्रबंधन
← वेब स्क्रैपिंग और बॉट पर वापस जाएँ