YouTube 비디오(API 키 없이) 및 제목 및 기타 항목의 조회수 가져오기
API 키 없이 YouTube 동영상의 조회수를 얻을 수 있습니다. 비밀 공식과 빠른 솔루션은 다음과 같습니다.
async function getViews(videoId) {
const response = await fetch(`https://www.youtube.com/watch?v=${videoId}`);
const html = await response.text();
const viewCount = html?.split('viewCount":"')?.[1]?.split('"')?.[0];
return viewCount ? parseInt(viewCount) : null;
}
]
비디오에서 더 많은 데이터 얻기
모든 Youtube 페이지에는 매우 유용한 ytInitialPlayerResponse 변수가 있습니다. 여기에서 자막, 조회수 등을 확인할 수 있습니다.
ytInitialPlayerResponse
조회수는 videoDetails 아래에 있습니다. 내 솔루션에서 나는
split
에서 (viewCount: "
로) 검색하고 첫 번째 결과를 가져옵니다.이
ytInitialPlayerResponse
변수로 작업할 수 있으면 더 좋을 것입니다. 알고 보니 이 부분까지 var meta = document.createElement('meta')
JSON.parse(html.split('ytInitialPlayerResponse = ')[1].split(`;var meta = document.createElement('meta')`)[0])
다음과 같이 완전한 비디오 데이터를 얻을 수 있습니다.
async function getYouTubeVideoData(videoId) {
const response = await fetch(`https://www.youtube.com/watch?v=${videoId}`);
const html = await response.text();
const ytInitialPlayerResponse = JSON.parse(html.split('ytInitialPlayerResponse = ')[1].split(`;var meta = document.createElement('meta')`)[0]);
return ytInitialPlayerResponse;
}
동영상 제목 가져오기
async function getYouTubeVideoTitle(videoId) {
const response = await fetch(`https://www.youtube.com/watch?v=${videoId}`);
const html = await response.text();
const ytInitialPlayerResponse = JSON.parse(html.split('ytInitialPlayerResponse = ')[1].split(`;var meta = document.createElement('meta')`)[0]);
return ytInitialPlayerResponse.videoDetails.title;
}
await getYouTubeVideoTitle('dQw4w9WgXcQ');
// will return 'Rick Astley - Never Gonna Give You Up (Official Music Video)'
ytInitialPlayerResponse
개체에서 모든 매개 변수를 반환할 수 있습니다.두 단계로 자막을 검색할 수도 있습니다.
// if no languageCode is given, then return first subtitle from the list
async function getYouTubeSubtitle(videoId, languageCode) {
const response = await fetch(`https://www.youtube.com/watch?v=${videoId}`);
const html = await response.text();
const ytInitialPlayerResponse = JSON.parse(html.split('ytInitialPlayerResponse = ')[1].split(`;var meta = document.createElement('meta')`)[0]);
const captionTracks = ytInitialPlayerResponse.captions. playerCaptionsTracklistRenderer.captionTracks;
const captionTrack = languageCode ? captionTracks.find(c => c.languageCode === languageCode) : captionTracks[0];
return await fetch(captionTrack.baseUrl);
}
await getYouTubeSubtitle('dQw4w9WgXcQ');
// will return 'Rick Astley - Never Gonna Give You Up (Official Music Video)'
Reference
이 문제에 관하여(YouTube 비디오(API 키 없이) 및 제목 및 기타 항목의 조회수 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/wimdenherder/get-the-view-count-of-youtube-video-without-api-key-3gp0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)