在python上识别数据是RSS还是HTML

在python上识别数据是RSS还是HTML,python,html,rss,Python,Html,Rss,在Python中是否有我可以调用的函数或方法 这会告诉我数据是RSS还是HTML您可以自己分析,搜索xml标记(用于RSS)或html标记(用于html)。文件类型通常应在带外确定。例如,如果您从web服务器获取文件,可以查看HTTP响应的Content-Type头。如果您正在获取本地文件,文件系统将有一种方法来确定Windows上的文件类型,而Windows将查看文件扩展名 如果这些都不可用,您将不得不求助于内容嗅探。这从来都不是完全可靠的,RSS尤其令人恼火,因为它有多个不兼容的版本,但您所

在Python中是否有我可以调用的函数或方法

这会告诉我数据是RSS还是HTML

您可以自己分析,搜索
xml
标记(用于RSS)或
html
标记(用于html)。

文件类型通常应在带外确定。例如,如果您从web服务器获取文件,可以查看HTTP响应的
Content-Type
头。如果您正在获取本地文件,文件系统将有一种方法来确定Windows上的文件类型,而Windows将查看文件扩展名

如果这些都不可用,您将不得不求助于内容嗅探。这从来都不是完全可靠的,RSS尤其令人恼火,因为它有多个不兼容的版本,但您所能做的最好的可能是:

  • 尝试使用XML解析器分析内容。如果失败,则内容不是格式良好的XML,因此不能使用RSS

  • 查看
    document.documentElement.namespaceURI
    。如果是
    http://www.w3.org/1999/xhtml
    ,您已经有了XHTML。如果是
    http://www.w3.org/1999/02/22-rdf-syntax-ns#
    ,你有RSS(一种风格)

  • 如果
    document.documentElement.tagName
    rss
    ,那么就得到了rss(风格稍有不同)

  • 如果文件不能被解析为XML,那么它很可能是HTML(或者它的一些标签)。可以想象,它也可能被破坏。在这种情况下,大多数进给工具都会拒绝它。如果您仍然需要检测这种情况,那么您将被减少到查找类似
    的字符串。如果您指的是
    声明,则不能保证RSS文件(或任何类型的XML文件)中会有一个字符串。