python - 解码波斯网站获取请求的响应

标签 python gzip decoding transfer-encoding

我正在编写用于发送请求和获取网站响应以及解析其内容的函数... 但是当我向波斯网站发送请求时,它无法解码它的内容

def gather_links(page_url):
    html_string = ''
    try:
        response = urlopen(page_url)
        if 'text/html' in response.getheader('Content-Type'):
            html_bytes = response.read()
            html_string = html_bytes.decode("utf-8")    
    except Exception as e:
        print(str(e))

显示此错误,例如 https://www.entekhab.ir/ :

'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte

我怎样才能更改解码此类网站的代码?

最佳答案

你应该使用 requests而不是 urllib。

import requests

response = requests.get('https://www.entekhab.ir/')
print(response.text)

关于python - 解码波斯网站获取请求的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58130647/

相关文章:

c++ - 具有小整数有效加法的 Bignum 实现

javascript - 使用 JavaScript 将 blob 添加到 tar 并流式传输到服务器

java - 解码密码或一些更复杂的方式来为用户发送密码?

swift - 如何像android密码一样快速加密和解密?

java - 在 Java 中解码来自 VBScript 的转义字符串

python - KeyError:[列] 中没有 Float64Index,不确定如何进行

python - 如何将 pip install 转换为 Poetry 文件?

unix - Deflate压缩 block 的结构

python - 索引出现最接近的 5 个索引列表

python - 在 Python 中解析大的、可能压缩的文件