我试图安装YahooBossMashup框架,但在运行所提供的示例时遇到问题。示例1、2、5和6有效,但3和4给出了Expat错误。以下是ex3.py的输出:
gpython examples/ex3.py
examples/ex3.py:33: Warning: 'as' will become a reserved keyword in Python 2.6
Traceback (most recent call last):
File "examples/ex3.py", line 27, in <module>
digg = db.select(name="dg", udf=titlef, url="http://digg.com/rss_search?search=google+android&area=dig&type=both§ion=news")
File "/usr/lib/python2.5/site-packages/yos/yql/db.py", line 214, in select
tb = create(name, data=data, url=url, keep_standards_prefix=keep_standards_prefix)
File "/usr/lib/python2.5/site-packages/yos/yql/db.py", line 201, in create
return WebTable(name, d=rest.load(url), keep_standards_prefix=keep_standards_prefix)
File "/usr/lib/python2.5/site-packages/yos/crawl/rest.py", line 38, in load
return xml2dict.fromstring(dl)
File "/usr/lib/python2.5/site-packages/yos/crawl/xml2dict.py", line 41, in fromstring
t = ET.fromstring(s)
File "/usr/lib/python2.5/xml/etree/ElementTree.py", line 963, in XML
parser.feed(text)
File "/usr/lib/python2.5/xml/etree/ElementTree.py", line 1245, in feed
self._parser.Parse(data, 0)
xml.parsers.expat.ExpatError: syntax error: line 1, column 0
两个示例在尝试查询时似乎都失败了Digg.com网站. 以下是在ex3.py的代码中构造的查询:
^{pr2}$
问题是digg搜索字符串。应该是“s=”。不是“搜索=”
我相信这一定是示例中的一个错误:它得到了一个JSON结果(实际上,如果您在浏览器中复制并粘贴该URL,您将下载一个文件名搜索.json首先是
也就是说,完全正常的JSON;但是它没有用JSON或simplejson之类的模块解析它,而是尝试将其解析为XML,显然这一尝试失败了。在
我相信解决方法(可能需要引起维护代码的人的注意,以便他们能够合并它)要么请求XML而不是JSON输出,要么用适当的方法解析得到的JSON,而不是试图将其视为XML(不确定如何最好地实现这两个更改,我不太熟悉)。在
相关问题 更多 >
编程相关推荐