我目前正在在Python和我們的美麗的湯單元中的課程時,教練使用下面的代碼爲Unicode錯誤:獲取打印美化BeautifulSoup
import requests, pprint
from bs4 import BeautifulSoup
url = 'https://www.epicurious.com/search/tofu%20chili'
response = requests.get(url)
page_soup = BeautifulSoup(response.content, 'lxml')
print(page_soup.prettify())
當我運行這段代碼,我得到以下錯誤:
Traceback (most recent call last):
File "/Users/arocklin/Documents/Python/whiteboard2.py", line 11, in <module>
print(page_soup)
UnicodeEncodeError: 'ascii' codec can't encode character '\xe9' in position 1479: ordinal not in range(128)
我想知道爲什麼我得到了這一點,因爲它的工作對他以及我如何修復它前進。謝謝!
更新:當我將最後一行改爲:print(results_page.prettify(encoding ='utf-8'))也不打印整齊,並以字符串打印。當我從終端運行它時,它工作正常,但是當我從Atom運行它時,我遇到了問題 – anonym00se
也許只需添加'#!/ usr/bin/env python # - * - coding:utf-8 - * - '作爲Python文件中的前兩行,如[在Python源代碼中使用utf-8編碼](https://stackoverflow.com/q/6289474/1248974) – davedwards
謝謝!不過,我認爲這是Atom的問題,因爲UTF-8是Python 3中的默認編碼。當我將該行放在頂部時,問題仍然是 – anonym00se