我一直在使用pylast.py从中检索有关艺术家和活动的各种类型的信息姓氏.fm. 在
但是,pylast没有从活动中检索场馆信息的功能。特别是,如果您查看事件.获取信息,我想退休地点:
http://www.last.fm/api/show/event.getInfo
<venue>
<id>8783057</id>
<name>Ryman Auditorium</name>
<location>
<city>Nashville</city>
<country>United States</country>
<street>116 Fifth Avenue North</street>
<postalcode>37219</postalcode>
<geo:point>
<geo:lat>36.16148</geo:lat>
<geo:long>-86.777959</geo:long>
</geo:point>
</location>
<url>http://www.last.fm/venue/8783057</url>
</venue>
现在,pylast在event对象下有一个名为get_venture的方法,但是它不返回上面显示的任何位置数据。。。在
有没有办法通过pylast获取位置数据?在
Pylast已经有几年没有更新了,但现在是possible in my fork:
印刷品:
^{pr2}$以及:
印刷品:
以及:
印刷品:
这看起来像是
pylast
中的一个限制。如果您看一下the source,pylast
总是假定它可以只保存任何子对象的ID,然后使用getInfo
服务调用来检索其余的信息。所以,当你调用event.get_venue()
时,它就是这样做的但在这种情况下,它不起作用。从API文档中可以看到,没有
venue.getInfo
。因此,pylast
代码中有以下注释:所以,你需要做三件事之一:
pylast
,以便它存储为对象检索的原始XML,而不仅仅是ID,或者至少在{Event
类,将location
视为事件的一部分,而不是其场地的一部分。在最后一个似乎是目前为止最容易的。但是,您必须决定如何表示一个位置。在
下面是一个快速而肮脏的hack,它将一个位置表示为其所有非空纯文本节点的dict,并使用monkey-patches代码将其获取到
^{pr2}$Event
对象:现在,代码如下:
…应该打印如下内容:
不完全是美丽的,但它应该作为一个有用的黑客,直到真正的功能存在。在
相关问题 更多 >
编程相关推荐