ElementTree XML解析和urllib2.urlopen

弗朗西斯

我正在使用以下网址打开网址:

response = urllib2.urlopen(url, data, timeout=_TIMEOUT)

并使用response.read(),它给出以下输出:

<XMLlookup licenseid="X4X6X42" reason="OK" status="1" />

但是当我想使用ElementTree解析它时,如下所示:

print response.read()
t = ET.parse(response)
r = t.getroot()
print r.attrib.get('status')

给我以下错误消息:

File "<string>", line 62, in parse
File "<string>", line 38, in parse
cElementTree.ParseError: no element found: line 1, column 0

但是当我删除该行时response.read(),代码可以正常工作。我究竟做错了什么?

Serge Ballesta

您只能读取一次响应,因为它是一个类似(实际上是addinfourl)的文件对象。后续的调用read将返回一个空字符串,因为您始终要阅读全文。

因此,要么read在使用之前不调用ET.parse(response),要么将结果存储在字符串中并将其用于ET:

txt = response.read()
# do what you want with txt (without changing it)
t = ET.fromstring(txt)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ElementTree XML解析和urllib2.urlopen

来自分类Dev

urllib,urllib2,urllib.request.open,AttributeError:“模块”对象没有属性“ urlopen”

来自分类Dev

使用ElementTree解析XML

来自分类Dev

ElementTree:解析XML的曾孙

来自分类Dev

如何在Python中使用urlopen或urllib2避免基于国家/地区的重定向

来自分类Dev

二进制的Python 2.7.3 urllib2 urlopen响应

来自分类Dev

如何在不使用 urlopen 的情况下发出 urllib2 POST 请求?

来自分类Dev

使用elementtree解析xml网站

来自分类Dev

使用Python ElementTree解析XML

来自分类Dev

使用elementtree解析xml站点

来自分类Dev

Python ElementTree 解析顺序

来自分类Dev

使用ElementTree修改XML

来自分类Dev

ElementTree 解析 xml 文件 - 解析问题

来自分类Dev

Python urllib urlopen不起作用

来自分类Dev

For循环调用urllib.urlopen()。getcode()很慢

来自分类Dev

urllib.request.urlopen()是做什么的?

来自分类Dev

Python 3:urllib.request.urlopen和Progressbar

来自分类Dev

Python 3:urllib.request.urlopen和Progressbar

来自分类Dev

使用ElementTree和请求进行XML解析

来自分类Dev

使用ElementTree的递归XML解析python

来自分类Dev

将压缩的XML提要解析为ElementTree

来自分类Dev

使用ElementTree顺序解析某些XML标签

来自分类Dev

XML解析Python ElementTree-嵌套循环

来自分类Dev

将压缩的xml提要解析为ElementTree

来自分类Dev

Python - ElementTree XML API(未按预期解析)

来自分类Dev

模拟urllib2.urlopen()。read()获得不同的响应

来自分类Dev

同时使用urllib2.urlopen()的多个请求

来自分类Dev

Python urllib2.urlopen返回HTTP错误503

来自分类Dev

urllib2.urlopen如何处理url中的®?

Related 相关文章

热门标签

归档