2012-04-17 2 views
0

... 최신 soundcloud API가 데이터 인터페이스를 제공하지 않기 때문에 http 요청의 결과를 파싱하는 것으로 확인되었습니다.SoundCloud에서 기본 검색 결과를 파싱하면 API가 지원됩니까?

필자의 궁금증은 결과 구조가 언제든지 변경 될 수 있으며 따라서 내 구문 분석 스키마가 유효하지 않게된다는 것입니다. 비슷한 일을하는 다른 사람이 있습니까? 또는 더 나은?

답변

0

올바른 내용입니다. 모든 SoundCloud API 응답은 JSON 또는 XML로 직렬화됩니다. 우리는 이전 버전과의 호환성을 매우 중요하게 생각하므로 반환 된 형식과 데이터에 의존 할 수 있습니다.

대부분의 언어에는 JSON을 적절한 데이터 유형 (즉, 해시 배열)으로 자동 분석 할 수있는 라이브러리가 하나 이상 있습니다. 키에 액세스하기 전에 키가 존재하는지 항상 확인할 수 있습니다 (예 : Python).

import json 
import urllib 

url = 'https://api.soundcloud.com/tracks.json' 

fp = urllib.urlopen('%s?%s' % (url, urllib.urlencode({ 
    'client_id': 'YOUR_CLIENT_ID', 
    'limit': 2 
}))) 
data = fp.read() 

tracks = json.loads(data) 
for track in tracks: 
    print track.get('title', 'No title available') 

이 질문에 대한 답변을 얻을 수 있습니까?

+1

예, 이것이 적절한 쿼리가 될지 확실하지 않았습니다. http://api.soundcloud.com/tracks.json?client_id=CLIENTKEY&q=chicago+parks&limit=50 대신, 처음에 기본 브라우저가 작동하는 방식과 비슷한 요청 : http://soundcloud.com/search?q%5Bfulltext%5D=chicago+parks – user1338907

관련 문제