
Где то читал про csv, но нормально ничего не понял так как на английском, а в русских документациях не полностью описывают csv модуль.
Код:
from urllib.request import urlopen from bs4 import BeautifulSoup import csv list_of_films = [] def start(page_number): url = urlopen('https://www.kinopoisk.ru/popular/day/2017-08-22/page/'+str(page_number)+'/') html = BeautifulSoup(url, 'lxml') parse(html) def parse(ht): target = ht.find('div', class_='stat') for diver in target.findAll('div'): for b in diver.findAll('a', style='font:100 12px arial,sans-serif'): text = b.text.strip() list_of_films.append(text) print(text) def main(): print() for i in range(1, 51): start(i) main() def cesv(): csvfile = open('D:\ds.csv', 'w') csc = csv.writer(csvfile) for row in list_of_films: csc.writerow(row) cesv()
Ошибка:
Traceback (most recent call last):
File “D
Python_files/Projects_Python_for_ Tutorial/Learning of Python/forever.py”, line 41, in <module>cesv()
File “D
Python_files/Projects_Python_for_ Tutorial/Learning of Python/forever.py”, line 39, in cesvcsc.writerow(row)
File “C:\Program Files\Python35\lib\encodings\cp1251.py”, line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)
UnicodeEncodeError: ‘charmap’ codec can't encode character ‘\xba’ in position 6: character maps to <undefined>
Понимаю, ошибка в кодировке и надо устранять как-то с помощью encode(), decode(), но не знаю как из-за проблемы с английским.
P.S Код не универсальный, так как пытался на основе его понять как решать и исправить вышеперечисленные проблемы, как видите не получилось.
P.P.S Буду рад примеру вашего кода со структурированной таблицей csv (Name, Price и т.д)