Python 如何解析远程文档?
请帮助解析来自Internet的文档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
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)