首页 > 解决方案 > 如何像 Python 'requests' 库 'response.content' 一样获取 HTML 响应的字节表示

问题描述

使用 Python 请求库,在获得响应时,response.content包含 UTF 编码的确切表示是什么?


我将如何获取字符串或文本(如response.text)并将其转换为确切的表示形式response.content

例子:

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

response.content是字节表示。

如果我要response.text如何将其转换为response.contentPython?


原因:

我有另一个 HTTP 库,它以字符串格式(Selenium : driver.page_source)返回 HTML 响应,我需要将它传递给另一个库lxml,该库仅在请求response.content形成时接受字节表示。

标签: pythonseleniumpython-requestslxml

解决方案


您可以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

推荐阅读