python中soup_python – 使用带有UTF-8的soup.get_text()
我需要使用BeautifulSoup從頁面獲取所有文本.在BeautifulSoup的文檔中,它顯示你可以做soup.get_text()來做到這一點.當我在reddit.com上嘗試這樣做時,我收到了這個錯誤:
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’)來修復它.有沒有什么辦法解決這一問題?提前致謝!
6月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)
總結
以上是生活随笔為你收集整理的python中soup_python – 使用带有UTF-8的soup.get_text()的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在python中使用Tqdm模块
- 下一篇: python列表函数方法_与Python