@TheAM

Как записать результаты на русском в файл xls или csv на Python?

Сформировал скрипт:
from requests_html import HTMLSession
from time import sleep
import random

session = HTMLSession()

# Создаем файл для записи данных
xls_name = f'example-{random.randint(1, 100)}.xls'
with open(xls_name, 'w', encoding='cp1251') as itog:
    itog.write('URL\tH1\tTitle\tDescription\n')

# Открываем файл с URl-страниц и получаем дпанный по каждой странице
with open('list-url.txt', 'r') as url_file:
    for line in url_file:
        url_site = line.strip('\n')

        # Делаем запрос по URL
        response = session.get(url_site)

        h1 = response.html.xpath('//h1/text()')[0]
        title = response.html.xpath('//title/text()')[0]
        description = response.html.xpath('//meta[@name="description"]/@content')[0]

        # Записываем URL, H1, title и description в файл
        with open(xls_name, 'a', encoding='cp1251') as itog:
            itog.write(f'{url_site}\t{h1}\t{title}\t{description}\n')

        print(f'Готово для страницы – {url_site}')
        sleep(2)


В файле list-url.txt указываю список URL страниц, с которых хочу получить H1, title и description. Почему-то один URL корректно парсится, а потом вылетает ошибка:
Ssb3G.png
То есть проблема к кодировке при записи? Или в чем-то другом? Операционка Винда 10. Еще уточнение - если здесь:
5f6cb61070368888953140.png
меняю кодировку на 'utf-8', то информация парсится, но в файле у меня вот так:
5f6cb630771ad623653387.png
  • Вопрос задан
  • 206 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы