क्या आपको पता है कि सुंदर सूप ट्यूटोरियल http://www.crummy.com/software/BeautifulSoup/documentation.html#QuickStart में पहला उदाहरण AttributeError: 'NavigableString' object has no attribute 'name'
क्यों देता है? this answer के अनुसार HTML में स्पेस वर्ण समस्या का कारण बनते हैं। मैंने कुछ पृष्ठों के स्रोतों के साथ प्रयास किया और 1 ने दूसरों को एक ही त्रुटि दी (मैंने रिक्त स्थान हटा दिए)। क्या आप समझा सकते हैं कि "नाम" क्या संदर्भित करता है और यह त्रुटि क्यों होती है? धन्यवाद।सुंदर सूप: विशेषताइंटर: 'नेविगेलस्ट्रिंग' ऑब्जेक्ट में कोई विशेषता नहीं है 'नाम'
उत्तर
name
टैग के नाम का उल्लेख होगा अगर वस्तु एक Tag
वस्तु है (यानी: <html>
नाम = "html")
यदि आप नोड्स के बीच में अपने मार्कअप में रिक्त स्थान BeautifulSoup NavigableString
रूप में करना होगा के। तो यदि आप नोड्स को पकड़ने के लिए contents
की अनुक्रमणिका का उपयोग करते हैं, तो आप अगले Tag
के बजाय NavigableString
प्राप्त कर सकते हैं।
इससे बचने के लिए, नोड के लिए क्वेरी आप देख रहे हैं: Searching the Parse Tree
या यदि आप अगले टैग के नाम पर आप चाहते हैं पता है, तुम संपत्ति के रूप में उस नाम का उपयोग कर सकते हैं और यह पहली बार वापस आ जाएगी इस नाम की Tag
या None
अगर इस नाम का कोई बच्चों मौजूद हैं: Using Tag Names as Members
आप उपयोग करना चाहते हैं, तो contents
आप वस्तुओं आप के साथ काम कर रहे हैं की जाँच करने के लिए है। त्रुटि मिल रहा है सिर्फ मतलब है कि आप क्योंकि कोड मान लिया गया है कि यह एक Tag
आप मामलों को खत्म करने की कोशिश पकड़ उपयोग कर सकते हैं जब नौगम्य स्ट्रिंग इस तरह पाश में पार्स किया जा रहा है, है नाम संपत्ति का उपयोग करने की कोशिश कर रहे हैं:
for j in soup.find_all(...)
try:
print j.find(...)
except NavigableString:
pass
बस NavigableString
वस्तुओं की अनदेखी करते हुए पेड़ के माध्यम से पुनरावृत्ति:()
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
for body_child in soup.body.children:
if isinstance(body_child, NavigableString):
continue
if isinstance(body_child, Tag):
print(body_child.name)
- 1. पायथन त्रुटि: विशेषताइंटर: 'मॉड्यूल' ऑब्जेक्ट में कोई विशेषता नहीं है
- 2. विशेषताइंटर: 'मॉड्यूल' ऑब्जेक्ट में कोई विशेषता नहीं है 'maketrans'
- 3. सुंदर सूप
- 4. टिंकर: विशेषताइंटर: कोई नहीं टाइप ऑब्जेक्ट में कोई विशेषता नहीं है
- 5. सुंदर सूप
- 6. सुंदर सूप
- 7. सुंदर सूप
- 8. सुंदर सूप
- 9. सुंदर सूप
- 10. सुंदर सूप
- 11. सुंदर सूप
- 12. सुंदर सूप
- 13. सुंदर सूप
- 14. सुंदर सूप
- 15. सुंदर सूप
- 16. विशेषताइंटर: 'सूची' ऑब्जेक्ट में कोई विशेषता नहीं है 'क्लिक' - सेलेनियम वेबड्राइवर
- 17. Django सहायता: विशेषताइंटर: 'मॉड्यूल' ऑब्जेक्ट में कोई विशेषता नहीं है 'चरफील्ड'
- 18. सुंदर सूप और पायथन
- 19. मशीनीकरण और सुंदर सूप?
- 20. सुंदर सूप एक टैग
- 21. ऑब्जेक्ट में कोई विशेषता नहीं है 'get'
- 22. सुंदर सूप आंतरिक एचटीएमएल?
- 23. मैं सुंदर सूप
- 24. पायथन - सुंदर सूप
- 25. विशेषताइंटर: 'noneType' ऑब्जेक्ट में suds
- 26. सुंदर सूप 4 और पायथन
- 27. पायथन सुंदर सूप एक्सएमएल पार्सिंग
- 28. Django: मॉडल फॉर्म "ऑब्जेक्ट में कोई विशेषता नहीं है 'cleaned_data'"
- 29. पायथन 2.7: ऑब्जेक्ट "एलिमेंटट्री" में कोई विशेषता नहीं है "register_namespace"
- 30. एलसीएमएल सुंदर सूप के बराबर "या" वाक्यविन्यास?
.find_all केवल चाइल्ड टैग वापस जाने के लिए प्रकट होता है और व्हाइटस्पेस पर ध्यान नहीं देता ... –