用Python访问维基百科
我有一段非常简单的Python代码,用来读取维基百科的API中的XML数据:
import urllib
from xml.dom import minidom
usock = urllib.urlopen("http://en.wikipedia.org/w/api.php?action=query&titles=Fractal&prop=links&pllimit=500")
xmldoc=minidom.parse(usock)
usock.close()
print xmldoc.toxml()
但是这段代码运行时出现了这些错误:
Traceback (most recent call last):
File "/home/user/workspace/wikipediafoundations/src/list.py", line 5, in <module><br>
xmldoc=minidom.parse(usock)<br>
File "/usr/lib/python2.6/xml/dom/minidom.py", line 1918, in parse<br>
return expatbuilder.parse(file)<br>
File "/usr/lib/python2.6/xml/dom/expatbuilder.py", line 928, in parse<br>
result = builder.parseFile(file)<br>
File "/usr/lib/python2.6/xml/dom/expatbuilder.py", line 207, in parseFile<br>
parser.Parse(buffer, 0)<br>
xml.parsers.expat.ExpatError: syntax error: line 1, column 62<br>
我完全不知道怎么回事,因为我刚开始学习Python。有没有办法能让我看到更详细的错误信息?有没有人知道解决办法?另外,请推荐一个更适合做这个的编程语言。
谢谢,
Venkat Rao
1 个回答
9
你请求的这个网址返回的是XML的HTML版本:
http://en.wikipedia.org/w/api.php?action=query&titles=Fractal&prop=links&pllimit=500
所以XML解析器无法处理这个内容。你可以把上面的链接粘贴到浏览器里看看。试着在末尾加上 format=xml
:
http://en.wikipedia.org/w/api.php?action=query&titles=Fractal&prop=links&pllimit=500&format=xml
这在链接的页面上有说明: