我正在尝试从 Echonest API 中提取一百首不同歌曲的歌曲数据。我在 CSV 文件中有每首歌曲的 ID - 我正在尝试编写一个脚本来读取 ID,将它们附加到 API url,并将数据写入新的 CSV,但我遇到了一点麻烦。
有没有一种好方法可以循环提取 ID 代码并将它们附加到 URL 中?这就是我到目前为止所拥有的;不确定如何/在何处将其放在有关将 ID 添加到 URL 的部分中。
import urllib2
import json
import csv
from time import sleep
outfile_path='/Users/path/to/file.csv'
api_url = 'http://developer.echonest.com/api/v4/song/profile?'
API_KEY = ''
writer = csv.writer(open(outfile_path))
with open('/Users/path/to/file.csv') as f:
for row in csv.DictReader(f):
song_id = row['id']
qs = urllib.urlencode({"api_key": API_KEY,
"bucket": "audio_summary",
"id": song_id})
url = '{}?{}'.format(API_URL, qs)
parsed_json = json.load(resource)
for song in parsed_json['results']:
row = []
writer.writerow({k: v.encode('utf-8') for k, v in song.items()})
sleep(5)