프로그래밍/General

Youtube 자동완성 연관 검색어를 가져오는 방법

Lou Park 2022. 6. 11. 17:15

유튜브의 "디아블로" 연관 검색어

다음 2개의 API들을 사용하면 유튜브의 연관 검색어를 쉽게 얻어올 수 있다.

둘 다 뭐 비슷하니 편한 걸로 쓰면될듯!

Google API

예시로 지금 재밌게 즐기고있는 디아블로를 넣어보았다.

Endpoint /complete/search
Request method GET
http://suggestqueries.google.com/complete/search?client=firefox&ds=yt&q=디아블로&hl=ko

Query parameters

 

이름 설명 옵션
client / output 브라우저 json결과를 얻으려면 firefox
xml 결과를 얻으려면 toolbar
q 쿼리 키워드 q=디아블로
jsonp JSONP 콜백 함수 설정 자신의 JSONP 콜백함수명
ds 서비스 제한, 없을 경우 구글 검색이다. 유튜브로 제한하려면 yt
hl Host language, 언어코드 (ISO 639-1에 따름) 한국은 ko
생략하면 기본값은 en

 

결과값

유튜브와 동일한 결과값을 내는 모습이다. 블로그에 포스팅하기는 XML이 더 이쁠거같아서 XML로 가져왔다.

<toplevel>
<CompleteSuggestion>
<suggestion data="디아블로 이모탈"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="디아블로2 레저렉션"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="디아블로 이모탈 강령술사"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="디아블로"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="디아블로 이모탈 성전사"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="디아블로 이모탈 마법사"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="디아블로 이모탈 악마사냥꾼"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="디아블로2"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="디아블로 이모탈 야만용사"/>
</CompleteSuggestion>
<CompleteSuggestion>
<suggestion data="디아블로 이모탈 직업추천"/>
</CompleteSuggestion>
</toplevel>

 

Youtube API

이 API에 대한 정보 찾기에는 실패했는데, StackOverFlow에서 봤던 쿼리는 다음과 같다. 위 google.com API와 쿼리 파라미터의 차이는 크게 없다.

 

Endpoint /complete/search
Request method GET
https://suggestqueries-clients6.youtube.com/complete/search?client=youtube-reduced&hl=ko&gs_ri=youtube-reduced&ds=yt&cp=3&gs_id=100&q=디아블로&xhr=t&xssi=t&gl=kr

 

Query parameters

이름 설명 옵션
q 쿼리 키워드 q=디아블로
gl 국가코드 (ISO-3166 Alpha2) 한국은 kr
미국은 us
hl Host language, 언어코드 (ISO 639-1에 따름) 한국은 ko
생략하면 기본값은 en

 

결과값

["디아블로",[["디아블로 이모탈",0,[229,433,131]],["디아블로2 레저렉션",0,[229,433,131]],["디아블로 이모탈 강령술사",0,[512,433,131]],["디아블로 이모탈 성전사",0,[512,433,131]],["디아블로",0,[512,433,131]],["디아블로 이모탈 마법사",0,[3]],["디아블로 이모탈 악마사냥꾼",0,[3]],["디아블로 이모탈 야만용사",0,[3]],["디아블로 이모탈 직업추천",0,[512,433,131]],["디아블로 이모탈 수도사",0,[512,433,131]]],{"e":"1","j":"100","k":1,"q":"BqA8smPtjX4ryRnTgWstJ41nKGo"}]