2016-02-29 91 views
1

我跑在Python一個非常簡單的腳本來從URL中獲取數據打印beautifulsoup4 get_text():UnicodeEncodeError當在Python

import urllib2 
from bs4 import BeautifulSoup 

def get_data(): 

    response = urllib2.urlopen('http://www.p2016.org/photos15/summit/trump012415spt.html') 
    html = BeautifulSoup(response, 'html.parser') 
    text = html.get_text() 
    return text 


print get_data() 

我不斷收到此錯誤信息:

PS C:\Users\Ben\pythonlearning\markov_chain> python fetch_data.py 
Traceback (most recent call last): 
    File "fetch_data.py", line 11, in <module> 
    print get_data() 
    File "C:\Python27\lib\encodings\cp437.py", line 12, in encode 
    return codecs.charmap_encode(input,errors,encoding_map) 
UnicodeEncodeError: 'charmap' codec can't encode character u'\xa9' in position 22825: character maps to <undefined> 

我已經試過:

  • 運行它沒有打印命令,我沒有得到任何錯誤
  • 在另一臺計算機上有人運行完全相同的代碼,並且工作正常。
+1

我可以編輯問題的標題 - 因爲它不工作的打印語句,這個問題顯然不是進口BeautifulSoup。 – DeepSpace

+0

@DeepSpace我編輯了標題 –

回答

0

您遇到的此錯誤與「讓另一臺計算機上的某個人運行完全相同的代碼並且工作正常」之間的區別是由於CPython解釋程序的版本不同。

Python 3標誌着語言功能發生重大的向後不兼容的變化,這就是爲什麼你會得到這個錯誤。

您可以通過這兩個平臺上運行此命令確認的區別:

python -c 'import sys; print(sys.version)'