Проблемы кодирования / декодирования с BeautifulSoup - PullRequest
0 голосов
/ 28 мая 2018

У меня есть следующий дикт.Когда я распечатываю значения с использованием красивого супового текста, он выводится на экран правильно, но когда я сохраняю его в текстовом формате, у меня возникают проблемы с кодировкой.Хотите знать, что я должен делать при сохранении значения.Я пробовал .encode

{'location': 'Century College.', 'instructor': 'Forsman,\xa0Deanna', 'time': 'na\xa0-\xa0na', 'subject': 'HIST', 'id': '001538', 'seats remaning': '7', 'delivery method': 'Completely Online-Asynchronous', 'days': 'n/a', 'number': '1032', 'offered through': 'Century College.', 'credits': '4.0', 'size': 'Open', 'status': 'Off-Campus Credit.', 'dates': '08/27\xa0-\xa012/20', 'title': 'U.S. History II (Online)', 'building/room': 'Online Classes ONLINE', 'sec': '70', 'end date': '12/20/2018', 'enrolled': '27', 'start date': '8/27/2018'}

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

Я закончил кодировать и декодировать строку перед тем, как поместить ее в значение dict.

.encode('ascii', 'ignore').decode()
0 голосов
/ 28 мая 2018

Попробуйте сначала преобразовать ваш объект в строку перед преобразованием в объект Python dict.Один из способов сделать это - через ast.literal_eval:

from ast import literal_eval

# replace with some_string = str(my_beautiful_soup_object)
some_string = str({'location': 'Century College.', 'instructor': 'Forsman,\xa0Deanna', 'time': 'na\xa0-\xa0na', 'subject': 'HIST', 'id': '001538', 'seats remaning': '7', 'delivery method': 'Completely Online-Asynchronous', 'days': 'n/a', 'number': '1032', 'offered through': 'Century College.', 'credits': '4.0', 'size': 'Open', 'status': 'Off-Campus Credit.', 'dates': '08/27\xa0-\xa012/20', 'title': 'U.S. History II (Online)', 'building/room': 'Online Classes ONLINE', 'sec': '70', 'end date': '12/20/2018', 'enrolled': '27', 'start date': '8/27/2018'})

d = literal_eval(str(some_string))
...