查看requests documentation,我知道我可以将response.content用于常规html页面的二进制内容(例如.jpg文件)和response.text。但是,当源是图像,并且我尝试访问r.text时,脚本会挂起。如何提前确定响应是否包含html?
我考虑过检查网址是否有图片扩展名,但这似乎不是万无一失。
答案 0 :(得分:4)
内容类型应为标题。请参阅文档中的this页面。
示例代码:
r = requests.get(url)
if r.headers['content-type'] == 'text/html':
data = r.text
elif r.headers['content-type'] == 'application/ogg':
data = r.content