Я проанализировал текст (названия городов) с веб-сайта, используя BeautifulSoup, в список, однако столкнулся с проблемой, которую я не могу преодолеть. Текстовые элементы на веб-сайте имели специальные символы, и когда я печатаю список, названия городов отображаются как [u'London], а вместо специальных символов появляются цифры и буквы. Как я могу избавиться от «u» в начале и преобразовать текст в формат, как первоначально было показано на веб-сайте?Строка со специальными символами в Python не отображается правильно
Вот код:
import urllib2
from bs4 import BeautifulSoup
address = 'https://clinicaltrials.gov/ct2/show/NCT02226120?resultsxml=true'
page = urllib2.urlopen(address)
soup = BeautifulSoup(page)
locations = soup.findAll('country', text="Hungary")
for city_tag in locations:
site=city_tag.parent.name
if site=="address":
desired_city=str(city_tag.findPreviousSibling('city').contents)
print desired_city
и вот что я получаю в качестве вывода:
[u'Pecs']
[u'Baja']
[u'Balatonfured']
[u'Budapest']
[u'Budapest']
[u'Budapest']
[u'Budapest']
[u'Budapest']
[u'Budapest']
[u'Budapest']
[u'Budapest']
[u'Budapest']
[u'Budapest']
[u'Budapest']
[u'Budapest']
[u'Cegled']
[u'Debrecen']
[u'Eger']
[u'Hodmezovasarhely']
[u'Miskolc']
[u'Nagykanizsa']
[u'Nyiregyh\xe1za']
[u'Pecs']
[u'Sopron']
[u'Szeged']
[u'Szekesfehervar']
[u'Szekszard']
[u'Zalaegerszeg']
7-й элемент из нижней части [u'Nyiregyh \ xe1za '], например, не отображаются правильно.
Префикс u предназначен только для исходного кода; если вы это видите, это потому, что вы печатаете представление объекта. Помогает ли [Unicode HOWTO] (https://docs.python.org/2/howto/unicode.html#reading-and-writing-unicode-data)? Вероятно, вам нужно будет показать некоторый код, если вы хотите больше, чем общий указатель на документы для кодирования символов. – dsh