मैं BeautifulSoup का उपयोग कर अजगर के साथ एक क्रॉलर लिख रहा हूँ, और सब कुछ सफलता से जा रहा था जब तक मैं इस साइट में भाग:अजगर और BeautifulSoup एन्कोडिंग मुद्दों
मैं अनुरोध पुस्तकालय के साथ सामग्री हो रही है :
r = requests.get('http://www.elnorte.ec/')
content = r.content
यदि मैं उस बिंदु पर सामग्री चर का प्रिंट करता हूं, तो सभी स्पैनिश विशेष वर्ण ठीक काम कर रहे हैं। हालांकि, एक बार मैं BeautifulSoup को यह सब गड़बड़ हो जाता है सामग्री चर को खिलाने के लिए प्रयास करें:
soup = BeautifulSoup(content)
print(soup)
...
<a class="blogCalendarToday" href="/component/blog_calendar/?year=2011&month=08&day=27&modid=203" title="1009 artÃculos en este dÃa">
...
यह जाहिरा तौर पर सभी स्पेनिश विशेष वर्ण (लहजे और whatnot) ऊपर garbling है। मैंने content.decode ('utf-8') करने की कोशिश की है, content.decode ('latin-1'), ने सुंदर स्नूप पर एन्कोडिंग पैरामीटर के साथ गड़बड़ करने की भी कोशिश की है, इसे एन्कोडिंग = 'utf-8' से सेट करके और एन्कोडिंग से = 'लैटिन -1', लेकिन अभी भी कोई पासा नहीं है।
किसी भी पॉइंटर्स की बहुत सराहना की जाएगी।
हाय Gaikokujin, आपके उत्तर के लिए धन्यवाद के लिए काम करता है की कोशिश कर सकते हैं, कर रहे हैं। आप काफी सही हैं, अगर मैं इसे 'लैटिन -1' पैरामीटर से प्रसन्न करता हूं, तो मुझे स्ट्रिंग वापस सभी सही उच्चारण और सभी के साथ मिलती है। हालांकि, मुझे लिंक को संसाधित करने के लिए सूप के माध्यम से जाना होगा, और यदि मैं फिर से स्ट्रिंग से सूप बनाने की कोशिश करता हूं, तो यह फिर से उच्चारण को गड़बड़ कर देता है। – David
दरअसल, कभी भी ध्यान न दें, अब मुझे आपके सुझाव का प्रयास करते समय एक त्रुटि मिल रही है: यूनिकोड एन्कोड त्रुटि: 'लैटिन -1' कोडेक स्थिति 62-63 में अक्षरों को एन्कोड नहीं कर सकता: क्रमशः श्रेणी में नहीं (256) – David
ऐसा लगता है कि यह फिर से काम करता है अगर मैं करता हूं: x = BeautifulSoup.BeautifulSoup (r.read(), एन्कोडिंग = 'लैटिन -1' से), लेकिन फिर, अगर मैं प्रीटीफाइड स्ट्रिंग से नया सूप बनाने का प्रयास करता हूं, तो यह फिर से गड़बड़ करता है:/ – David