python - 如何在 Python 中以编程方式区分 XML 和 HTML?
问题描述
我正在发送一个 http 请求并获得一个 http 响应,但我希望能够提取响应的正文并知道它是否包含 XML 或 HTML。
理想情况下,即使响应中的内容类型不明确,此方法也应该有效(即,它应该适用于不一定指定内容类型的网站)。
目前,我正在使用 lxml 来解析 html/xml,但在解析时不知道我是在处理 HTML 还是 XML。
解决方案
您可以检查content-type
标头以了解您收到的响应类型:
import requests
respond = requests.get(URL)
file_type = respond.headers['content-type']
print(file_type)
>>>'text/html; charset=utf-8'
你也可以做
print(file_type.split(';')[0].split('/')[1])
得到"html"
或"xml"
作为输出
推荐阅读
- python - Python正则表达式在行首识别两个连续的大写单词
- python - flask-resful api jwt_required 特定标识
- python - Python 'NoneType' 对象没有属性 'attrs'
- node.js - 使用 FFMPEG 转换文件并上传到 AWS S3 Nodejs
- visual-studio-code - 使用 VS Code Live Share 连接到远程主机 (FTP)
- iis - HTTP 错误 404:文件或目录不存在
- windows - Git 子模块 - 无法使用适用于 Windows 的 Linux 子系统访问存储库
- java - 使用 Spring Boot 连接被拒绝的 Kubernetes 服务发现
- c# - 尝试使用 BEMCheckBoxes 创建单选按钮组
- javascript - 使用原生 javascript/HTML 创建 Html 树视图