Задать вопрос
@wolf-9830

Почему Grab не работает с русским текстом?

пытаюсь вывести содержимое тега title в консоль, вот этим кодом:
# -*- coding: cp1251 -*-
from grab import Grab
g = Grab(log_file = "out.html")
g.go("yandex.ru")
print g.xpath_text("//title")


Но выдаёт вот такую ошибку:
ERROR:root:Call to deprecated function xpath_text. Use grab.doc.select().text() instead.
Traceback (most recent call last):
  File "/home/good_inc/program.py", line 5, in <module>
    print g.xpath_text("//title")
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-5: ordinal not in range(128)
  • Вопрос задан
  • 839 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
@Mindless_kiev
попробуйте print unicode(g.xpath_text("//title"))
Ответ написан
@stopbreath
начинающий/практикующий python-программист
Попробуйте сменить кодировку на utf-8
Ответ написан
Комментировать
loader777
@loader777
Python/django разработчик
Настройка кодировки страницы делается так:

g.setup(document_charset='cp1251')
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
SpectrumData Екатеринбург
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
19 янв. 2025, в 10:23
5000 руб./за проект
19 янв. 2025, в 07:48
500 руб./за проект