Прежде чем кто-нибудь скажет, что это дублированный вопрос, я просто хочу сообщить вам, что ошибка, которую я получаю от запуска этой программы в командной строке, отличается от всех других связанных вопросы, которые я видел.Программа Python работает в IDLE, но не в командной строке
Я пытаюсь запустить очень короткий скрипт в Python
from bs4 import BeautifulSoup
import urllib.request
html = urllib.request.urlopen("http://dictionary.reference.com/browse/word?s=t").read().strip()
dhtml = str(html, "utf-8").strip()
soup = BeautifulSoup(dhtml.strip(), "html.parser")
print(soup.prettify())
Но я получаю сообщение об ошибке при запуске этой программы с python.exe. UnicodeEncodeError: 'charmap' codec can't encode character '\u025c
. Я пробовал много способов обойти это, но мне удалось выделить его на проблему преобразования байтов в строки. Когда я запускаю эту программу в IDLE, я получаю HTML как ожидалось. Что же делает IDLE автоматически? Могу ли я использовать программу интерпретации IDLE вместо python.exe? Благодаря!
EDIT:
Моя проблема вызвана print(soup.prettify())
но type(soup.prettify())
возвращается str
?
ПОСТАНОВИЛИ:
я, наконец, было принято решение использовать encode()
и decode()
из-за проблем, что было вызвано. Если кто-то знает, как реально решить вопрос, пожалуйста, сделайте это; также, благодарю вас за все ваши ответы
Не видя кодировки символов, объявленной на этой странице. – stark
Сделайте ctrl + f для charset пожалуйста – ytpillai
Я думаю, что это первый метатег в 'head' – ytpillai