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