Я пытаюсь вытащить список из 500 ресторанов в Амстердаме от TripAdvisor; Однако после того, как в 308-м ресторана я получаю следующее сообщение об ошибке:UnicodeEncodeError: кодек 'ascii' не может кодировать символ u ' u2019' в позиции 6: порядковый номер не в диапазоне (128)
Traceback (most recent call last):
File "C:/Users/dtrinh/PycharmProjects/TripAdvisorData/LinkPull-HK.py", line 43, in <module>
writer.writerow(rest_array)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 6: ordinal not in range(128)
Я попробовал несколько вещей, которые я нашел на StackOverflow, но ничего не работает, как прямо сейчас. Мне было интересно, может ли кто-нибудь взглянуть на мой код и посмотреть какие-нибудь потенциальные решения, которые были бы замечательными.
for item in soup2.findAll('div', attrs={'class', 'title'}):
if 'Cuisine' in item.text:
item.text.strip()
content = item.findNext('div', attrs=('class', 'content'))
cuisine_type = content.text.encode('utf8', 'ignore').strip().split(r'\xa0')
rest_array = [account_name, rest_address, postcode, phonenumber, cuisine_type]
#print rest_array
with open('ListingsPull-Amsterdam.csv', 'a') as file:
writer = csv.writer(file)
writer.writerow(rest_array)
break
'kitchen_type' - это список, потому что вы используете' .split' (и я не уверен, почему вы раскалываетесь на неперерывных пространствах ...). Однако содержимое строки, передаваемой в '.writerow', должно быть строками или цифрами. Кроме того, при использовании модуля Python 2 'csv' вы должны открывать CSV-файлы в двоичном режиме, как указано в [docs] (https://docs.python.org/2/library/csv.html) , Вы можете найти эту статью полезной: [Pragmatic Unicode] (http://nedbatchelder.com/text/unipain.html), которая была написана ветеранкой SO Нед Батчелдер. –