Кодировка символов PyQt4: кодек «ascii» не может кодировать символ

1

Попытка использовать следующую script для загрузки страницы, чтобы я мог получить доступ к странице с выполненным javascript. Я хотел бы войти в систему и посмотреть результирующую страницу (https://www.thomsononeim.com/v-hom.asp), также с выполненным Javascript. В Python 2.7 я получаю эту ошибку:

Traceback (последний последний звонок):
Файл "C:/Python27/Sample Программы /Stupid Test.py", строка 22, в     print html UnicodeEncodeError: кодек 'ascii' не может кодировать символ u '\ xa9' в позиции 8273: порядковый номер в диапазоне (128)

Здесь код:

from __future__ import unicode_literals
from __future__ import print_function
from __future__ import division
import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from PyQt4.QtWebKit import *


class Render(QWebPage):
    def __init__(self, url):
        self.app = QApplication(sys.argv)
        QWebPage.__init__(self)
        self.loadFinished.connect(self._loadFinished)
        self.mainFrame().load(QUrl(url))
        self.app.exec_()

    def _loadFinished(self, result):
        self.frame = self.mainFrame()
        self.app.quit()

url = 'https://www.thomsononeim.com/s-log_in.asp'
r = Render(url)
html = r.frame.toHtml()
print(html)
Теги:
pyqt4
character-encoding

1 ответ

4
Лучший ответ

Это должно работать:

print(html.toUtf8())

Ещё вопросы

Сообщество Overcoder
Наверх
Меню