我在下面使用此代码从Alexa API检索信息,此代码在Python 2.7上运行良好,但我必须使用Python 2.6,这给了我一个错误:findall()恰好接受2个参数(给定3个)

我想这个方法在Python 2.7中有所改变,但是我不知道如何在2.6中使它起作用。

NS_PREFIXES = {
    "alexa": "http://alexa.amazonaws.com/doc/2005-10-05/",
    "awis": "http://awis.amazonaws.com/doc/2005-07-11",
}

tree = api.sites_linking_in(domain + ".eu", count=10, start=0)
alexa_sites_linkin_in = {}
for element in tree.findall('//awis:SitesLinkingIn/awis:Site',NS_PREFIXES):
    alexa_sites_linkin_in.update({
    element.find('awis:Title', NS_PREFIXES).text: element.find('awis:Url', "awis").text})


感谢您的帮助。

最佳答案

api使用lxml(ElementTree作为反向端口)来解析xml。 lxml允许附加参数-名称空间,但ElementTree不允许。那是问题。
因此,作为修复程序,我建议安装lxml。

09-28 07:17