2016-04-25 20 views
-3

次のエラーが発生しています。pythonを使用したWeb廃棄でエラーが発生しましたbeautifulsoup

Traceback (most recent call last):File "ex1.py", line 9, in <module> 
    print(soup.prettify()) 
    File "C:\Python34\lib\encodings\cp437.py", line 19, in encodereturn 
    codecs.charmap_encode(input,self.errors,encoding_map)[0] 
UnicodeEncodeError: 'charmap' codec can't encode character '\u2013' in position35013: character maps to <undefined> 

私のソースコードは以下の通りである:これに変更

import requests 
from bs4 import BeautifulSoup 

url = 'http://www.yellowpages.com/search?search_terms=coffee&geo_location_terms=Los+Angeles%2C+CA' 
response = requests.get(url) 
html = response.content 

soup = BeautifulSoup(html, "html.parser") 
print(soup.prettify()) 

答えて

0

は私

html = response.text 
soup = BeautifulSoup(html) 
print soup.prettify() 
+1

いいえ、これはまだ私のために働いていません。私はすべてのhtmlコンテンツをテキストだけでなく取得したい。 –

0

で動作しますが、Windows上でこれを実行していますか?原因は、あなたのhtmlコンテンツのエンコーディングによるものです。

私はこれが働くかもしれないと思う:

import requests 
from bs4 import BeautifulSoup 

url = 'http://www.yellowpages.com/search?search_terms=coffee&geo_location_terms=Los+Angeles%2C+CA' 
response = requests.get(url) 
html = response.content 

soup = BeautifulSoup(html, "html.parser") 
print(soup.prettify().encode('UTF-8')) 

prettify()にエンコードするための引数を渡すと、あまりにも動作するはずです。このように:

soup.prettify(encoding='utf-8')