2017-06-11 9 views
0

マイコードPythonのBeautifulSoupエラー

import requests 
from bs4 import BeautifulSoup 

url = "http://www.quikr.com/jobs/direct-hiring-for-fresher-b.tech-diploma-iti-for-maruti-suzuki-gurgaon-W0QQAdIdZ293462666" 
encode = 'utf-8' 
headers = { 
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0", 
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", 
    "Accept-Language": "en-US,en;q=0.5", 
    "Accept-Encoding": "gzip, deflate", 
    "Connection": "close", 
    "DNT": "1", 
    "Upgrade-Insecure-Requests": "1" 
} 
response = requests.get(url, headers=headers) 
encodeData = response.text.encode(encode) 
soup = BeautifulSoup(encodeData) 
print soup.prettify() 

が、これは非常に基本的なコードです。しかし、私が使用したときにまだ私はエラーを取得していますprettify()

エラーは、これは共通の問題である

UnicodeEncodeError: 'charmap' codec can't encode character u'\xa9' in position 7

+1

私はあなたのコードを実行しようとしたが、それは完全に正常に機能する(py2、py3両方) –

+0

私はまだ、エラーが表示されます。しかし、prettify()を削除した後、正常に動作します。 – Firdoesh

+0

実行しているプラ​​ットフォームを教えてください。 –

答えて

2

です。問題はおそらくあなたのコードではなく、あなたが印刷しようとしているコンソールを使っているでしょう。 Beautifulsoup uses a unicode encoding、これは多くの編集者が常にうまくいくとは限りません(たとえば、私が崇高なテキストでスープを印刷するときにこのエラーが発生します)。文字列を別の形式(UTF-8、ascii)にエンコードすると、このトリックを行う必要があります。

print soup.prettify().encode('utf-8') 

私はテストしていないが、それはあなたのために修正することができます。

+0

ありがとうございますこのような環境問題です。私のLinuxではうまくいきます。 – Firdoesh