Как получить байтовое представление ответа HTML, как в Python 'query' library 'response.content' - PullRequest
0 голосов
/ 20 марта 2020

С библиотекой запросов Python при получении ответа каково точное представление response.content, включая кодировку UTF?


Как бы я взял строку или текст (например, response.text) и преобразовать это в точное представление, которое response.content?

Пример:

response = requests.get('https://stackoverflow.com')

response.content является байтовое представление.

Если бы я взял response.text как бы преобразовать его в response.content в Python?


Причина:

У меня есть другая библиотека HTTP, которая возвращает ответ HTML в формате String (Selenium: driver.page_source), и мне нужно передать его в другую библиотеку lxml, которая принимает байтовое представление только как запросы response.content сформировано.

1 Ответ

1 голос
/ 20 марта 2020

Вы можете привести формат строки к bytes с кодировкой (вероятно, 'utf-8'):

import requests
response = requests.get('https://stackoverflow.com')
response.content == response.text  # False
response.content == bytes(response.text, encoding='utf-8')  # True
...