我正在尝试在Python 3.7中使用Diffused XML解析RSS XML文件。相关代码如下:
def parse_xml_links(file, path, output):
handler = GenericContentHandler(path, output)
dsax.parse(file, handler)
def fetch_changes():
r = requests.get(rss_url)
return r
updates = fetch_changes()
parse_xml_links(updates.text, path, output)
XML文件头为:
<?xml version="1.0" encoding="utf-8" ?>
<rss version="0.91">
我在解析时遇到以下错误:
ValueError:未知的url类型:'?xml version =“ 1.0” encoding =“ utf-8”吗?> \ n \ n
仅当我尝试解析请求对象(即updates.text)时,才会发生错误。如果我指向本地XML文件,则不会发生任何错误。
我已经使用以下代码尝试过此solution:
parser = dsax.make_parser()
parser.setFeature(handler.feature_external_ges, False)
parser(file, handler, path, output)
但是,处理程序对象没有属性“ feature_external_ges”。
错误源是什么,您如何建议我解决它?显然,我可以保存请求对象并解析保存的文件。但是,我想了解是否可以解析请求对象。