繁体   English   中英

Python requests.get 返回乱码

[英]Python requests.get returns Gibberish

我正在尝试抓取以下网址:

link='https://www.opensubtitles.org/en/subtitleserve/sub/6646133'

当我做

html = requests.get(link)

它返回

html.content

乱码(从b'PK\\x03\\x04\\x14\\x00\\x00\\x00\\x08\\x00z\\x8c8Q\\xd5H\\xc5\\xd7\\xaf7\\x00\\x00\\xdf\\x95\\x00\\x00^\\x00\\x00\\x00 ...)

为什么我没有得到清晰的文本?

您可以使用zipfile解压缩它,然后检查文件名。 如果您有兴趣提取 srt 文件,以下将获得内容:

import requests, zipfile, io

r = requests.get("https://www.opensubtitles.org/en/subtitleserve/sub/6646133",
    headers = {
        "referer": "https://www.opensubtitles.org/en/subtitles/6646133/america-s-got-talent-audition-1-en"
})
z = zipfile.ZipFile(io.BytesIO(r.content))
filenames = z.namelist()
print(filenames)
srt_files = [t for t in filenames if t.endswith(".srt")]
for t in srt_files:
    content = z.read(t)
    print(content)

在 repl.it 上运行它

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM