访问itunes store api的简单python包装

pitunes的Python项目详细描述


pyitunes

一个简单的python包装器,用于访问itunes store api[itunes store API]

安装

要使用pip安装,只需在终端中运行此命令:

$ pip install pitunes

或者从Github和:

克隆代码
$ python setup.py install

缓存

此模块缓存来自iTunes API的响应以加快重复的速度 对相同资源的查询。但是请注意,没有 在python进程之间发生的持久缓存。即,一次 Python进程退出,缓存被清除。

示例

搜索

from __future__ import print_function
import itunes

# Search band U2
artist = itunes.search_artist('u2')[0]
for album in artist.get_albums():
    for track in album.get_tracks():
        print(album.name, album.url, track.name, track.duration, track.preview_url)

# Search U2 videos
videos = itunes.search(query='u2', media='musicVideo')
for video in videos:
    print(video.name, video.preview_url, video.artwork)

# Search Volta album by Björk
album = itunes.search_album('Volta Björk')[0]

# Global Search 'Beatles'
items = itunes.search(query='beatles')
for item in items:
    print('[' + item.type + ']', item.artist, item.name, item.url, item.release_date)

# Search 'Angry Birds' game
item = itunes.search(query='angry birds', media='software')[0]
vars(item)

# Search 'Family Guy Season 1'
item = itunes.search_season('Family Guy Season 1')[0]
vars(item)

# Search 'Episode 5 of Family Guy Season 1'
items = itunes.search_episode('Family Guy Season 1')
for ep in items:
    if ep.episode_number == 5:
        vars(ep)

按itunes id查找

import itunes

# Lookup Achtung Baby album by U2
U2_ACHTUNGBABY_ID = 475390461
album = itunes.lookup(U2_ACHTUNGBABY_ID)

print(album.url)
print(album.artwork)

artist = album.artist
tracks = album.get_tracks()

# Lookup song One from Achtung Baby album by U2
U2_ONE_ID = 475391315
track = itunes.lookup(U2_ONE_ID)

artist = track.artist
album = track.get_album()

upc查找

import itunes

# Lookup Arcade EP by glitch_d using UPC
ARCADE_EP_UPC = 5057917815772
album = itunes.lookup_upc(ARCADE_EP_UPC)

print(album.url)
print(album.artwork)

artist = album.artist
tracks = album.get_tracks()

测试

$ py.test tests

参考文献

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在一个问题被连续正确回答三次/并添加差异后,我如何将程序循环回开始   Java中未实例化的匿名类   java如何在Android中录制视频,只允许横向模式和最长时间录制时间   java从另一个活动发送实时消息   多线程java线程和互斥   java禁用Spring安全日志   JAVA伊奥。StreamCorruptedException:在与子级和父级ProcessBuilder通信时写入子级中的标准输出时,流头无效   使用Java(HttpURLConnection)对Restheart进行身份验证(对于Mongodb)   java如何解决Jenkins中的SAXParseException?   java为什么我需要mockito来测试Spring应用程序?   计算sin-cos和tan时缺乏精度(java)   java Hibernate。不同项目中相同一对一映射的不同行为   java图像滑块:如何使用JavaFX将图像放在另一个图像上   java Mockito在使用when时抛出NotAMockException   http Java servlet发送回响应