Получение информации об артистах из last.fm api. Когда я вношу художника, веб-запрос возвращает 100 похожих художников. То, что я хочу сделать (без создания бесконечного l oop), это сделать еще один уровень go и вытянуть соответствующих художников этих художников и добавить его в тот же файл.
Например, ввести Parachute
Вывод: Энди Грэммер, Hot Chelle Rae, Джон Маклафлин, ....
Я хочу вложить ту же команду, чтобы получить связанных исполнителей для Энди Грэммера, добавить ее в файл, затем связанные художники для Hot Chelle Rae, затем добавьте его в файл ....
Код на данный момент:
$bands_list =@('parachute')
foreach ($band in $bands_list){$url1="http://ws.audioscrobbler.com/2.0/?method=artist.getsimilar&artist=$band&api_key=(my api key)&format=json"
Invoke-WebRequest $url1 |
ConvertFrom-Json |
select -expand similarartists |
select -expand artist |
select name|
convertto-csv |
ForEach-Object{Write-Output "$band,$_"} >similarartistmatch.txt
}
Этот процесс дает мне около 100 связанных художников к первоначальному исполнителю. , Я использую {Write-Output "$ band, $ _"}, поэтому в каждой строке я получаю оригинальных исполнителей в первом столбце, а затем связанного исполнителя во втором столбце (чтобы я мог показать эти отношения). В конце концов, я ожидаю, что один файл будет содержать 10000 элементов.
Кажется простым, но я не хочу сталкиваться с бесконечным l oop. Я хочу только go два уровня глубины: оригинальный художник, связанный художник, связанный художник, связанный художник.