Python 如何解析远程文档?

Python 如何解析远程文档?,python,python-3.x,Python,Python 3.x,请帮助解析来自Internet的文档 import pprint import xml.dom.minidom from xml.dom.minidom import Node import requests addr = requests.get('http://fh79272k.bget.ru/py_test/books.xml') print(addr.status_code) doc = xml.dom.minidom.parse(str(addr)) # loa

请帮助解析来自Internet的文档

import pprint
import xml.dom.minidom
from xml.dom.minidom import Node

import requests

addr = requests.get('http://fh79272k.bget.ru/py_test/books.xml')
print(addr.status_code)

doc = xml.dom.minidom.parse(str(addr))          # load doc into object
                                                  # usually parsed up front


mapping = {}
for node in doc.getElementsByTagName("book"):     # traverse DOM object
    isbn = node.getAttribute("isbn")              # via DOM object API
    L = node.getElementsByTagName("title")
    for node2 in L:
        title = ""
        for node3 in node2.childNodes:
            if node3.nodeType == Node.TEXT_NODE:
                title += node3.data 
        mapping[isbn] = title

# mapping now has the same value as in the SAX example
pprint.pprint(mapping)
此脚本不起作用。错误消息是:

回溯(最近一次调用上次):文件 “C:\VINT\OPENSERVER\OPENSERVER\domains\localhost\python\parse\u html\1\dombook.py”, 第14行,在 doc=xml.dom.minidom.parse(str(addr))#将doc加载到对象文件“C:\Python33\lib\xml\dom\minidom.py”中,第1960行,在 作语法分析 返回parse中第908行的expatbuilder.parse(文件)文件“C:\Python33\lib\xml\dom\expatbuilder.py” fp=打开(文件“rb”)操作错误:[Errno 22]无效参数:“”

XML:


Python与XML
2001年12月
琼斯,德雷克
编程Python,第4版
2010年10月
卢茨
学习Python,第4版
2009年9月
卢茨
Python袖珍参考,第4版
2009年10月
卢茨
Python食谱,第二版
2005年3月
马尔泰利,拉文斯克罗夫特,阿斯彻
简而言之,Python,第二版
2006年7月
马尔泰利

您是从响应对象构建XML,而不是从正文中的文本。使用
addr.text
代替
str(addr)

doc = xml.dom.minidom.parse(addr.text)
此外,使用XML解析器来处理HTML也是件麻烦事。尝试使用

doc = xml.dom.minidom.parse(addr.text)