के साथ soup.get_text() का उपयोग करें मुझे सुंदर सूप का उपयोग करके किसी पृष्ठ से सभी टेक्स्ट प्राप्त करने की आवश्यकता है। सुंदर सूप के दस्तावेज पर, यह दिखाता है कि ऐसा करने के लिए आप soup.get_text()
कर सकते हैं। जब मैं reddit.com पर ऐसा करने की कोशिश की, मैं यह त्रुटि आई:UTF-8
UnicodeEncodeError in soup.py:16
'cp932' codec can't encode character u'\xa0' in position 2262: illegal multibyte sequence
मैं त्रुटियों कि साइटों मैं जाँच के सबसे पर की तरह मिलता है।
मुझे इसी तरह की त्रुटियां मिलीं जब मैंने soup.prettify()
भी किया, लेकिन मैंने इसे soup.prettify('UTF-8')
पर बदलकर तय किया। क्या इसको ठीक करने का कोई तरीका है? अग्रिम में धन्यवाद!
अपडेट 24 जून
मैं अन्य लोगों के लिए काम करने के लिए लगता है कि कोड का एक सा मिल गया है, लेकिन मैं अभी भी डिफ़ॉल्ट के बजाय UTF-8 उपयोग करने के लिए की जरूरत है। कोड:
texts = soup.findAll(text=True)
def visible(element):
if element.parent.name in ['style', 'script', '[document]', 'head', 'title']:
return False
elif re.match('', str(element)): return False
elif re.match('\n', str(element)): return False
return True
visible_texts = filter(visible, texts)
print visible_texts
त्रुटि अलग है, हालांकि। प्रगति?
UnicodeEncodeError in soup.py:29
'ascii' codec can't encode character u'\xbb' in position 1: ordinal not in range
(128)