"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > ब्यूटीफुलसूप फ़ंक्शन जैसे `ढूँढें` और `select_one` `कोई नहीं` क्यों लौटाते हैं?

ब्यूटीफुलसूप फ़ंक्शन जैसे `ढूँढें` और `select_one` `कोई नहीं` क्यों लौटाते हैं?

2024-11-22 को प्रकाशित
ब्राउज़ करें:108

Why do BeautifulSoup functions like `find` and `select_one` return `None`?

ब्यूटीफुलसूप फ़ंक्शंस कभी-कभी कोई भी क्यों नहीं लौटाते हैं

ब्यूटीफुलसूप में, फ़ंक्शंस जो एकल परिणाम की खोज करते हैं, जैसे कि ढूंढें और चुनें_एक, यदि कोई मिलान तत्व नहीं मिलता है तो कुछ भी नहीं लौटाएं HTML. यदि बाद वाला कोड इन None मानों का उपयोग करने का प्रयास करता है जैसे कि वे वास्तविक तत्व थे तो इससे AttributeError अपवाद हो जाता है।

None Returns के उदाहरण

निम्न कोड स्निपेट पर विचार करें:

html_doc = "..."
soup = BeautifulSoup(html_doc, 'html.parser')
print(soup.sister)
print(soup.find('a', class_='brother'))
print(soup.select_one('a.brother'))
soup.select_one('a.brother').text
  • soup.sister: कोई नहीं लौटाता क्योंकि HTML में कोई टैग नहीं है।
  • soup.find('a', class_='brother'): कोई नहीं लौटाता क्योंकि a के साथ कोई टैग नहीं है "भाई" का वर्ग गुण। &&&]
  • soup.select_one('a.brother').text:
  • एक AttributeError उठाता है क्योंकि किसी के पास कोई टेक्स्ट नहीं है विशेषता।
  • विशेषता त्रुटि से कैसे बचें: 'NoneType' ऑब्जेक्ट में कोई विशेषता नहीं है...
  • विशेषता त्रुटि अपवादों से बचने के लिए, None रिटर्न को शान से संभालना आवश्यक है। यहां कुछ सर्वोत्तम प्रथाएं दी गई हैं:
विशेषताओं तक पहुंचने का प्रयास करने से पहले यह जांचने के लिए कि क्या परिणाम कोई नहीं है, सशर्त कथन का उपयोग करें।

परिणाम को एक चर में निर्दिष्ट करें और .has_attr() का उपयोग करें किसी विशिष्ट विशेषता के अस्तित्व की जाँच करें।

विशेषता त्रुटि अपवादों को पकड़ने के लिए प्रयास और सिवाय ब्लॉक का उपयोग करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3