API v3 なし APIキーでビデオIDを使用してビデオタイトルを取得することは可能ですか? APIドキュメントにタイトルを取得するための情報や例は見つかりませんでした。
動画のタイトルを取得するには、will APIキーが必要であり、次のリクエストを行う必要があります。
https://www.googleapis.com/youtube/v3/videos?part=snippet&id={COMMA_DELIMITED_LIST_OF_IDS}&key={YOUR_API_KEY}
返されたパケットでは、タイトルはitems.snippet.title
APIキーがないとany APIデータを取得できません。すべてのAPIリクエストは割り当てシステム上にあり、キーはアプリの1日の制限に請求する金額を決定するために使用されます。ただし、上記のような呼び出しは非常に安価です。合計3ユニットです(2はスニペット、1はリクエスト自体です)。 1日あたり50,000,000ユニットを取得し、同じ3ユニットで最大50のスニペットを取得できるため、APIキーを使用するのはそれほど負担にはなりません。
動画のタイトルを取得するには、APIキーが必要です[〜#〜] [〜#〜]必要はなく、リクエスト:
https://noembed.com/embed?url=https://www.youtube.com/watch?v=dQw4w9WgXcQ
必要な動画のYouTube URLを変更します。
Vimeoや他の多くの サポートされているサイト でも動作します。
https://noembed.com/embed?url=https://vimeo.com/45196609
APIを直接使用する場合、APIキーのないAPI v3で動画IDを使用して動画タイトルを取得することはできません。 YouTube Data API v2は非推奨になり(参照: YouTube Data API v2非推奨:よくある質問 )、現在YouTube APIは oEmbed を [でサポートしていません〜#〜] jsonp [〜#〜] 必要に応じて( 問題4329:JSONPのoEmbedコールバック を参照)。
しかし幸いにも、JSONPを使用し、APIキーなしでYouTube動画のタイトル(およびその他のデータ)を取得できる Noembed サービスがあります。
JQueryでタイトルを取得する簡単なデモを以下に示します。
var id = 'dQw4w9WgXcQ';
var url = 'https://www.youtube.com/watch?v=' + id;
$.getJSON('https://noembed.com/embed',
{format: 'json', url: url}, function (data) {
alert(data.title);
});
JS Binの [〜#〜] demo [〜#〜] を参照してください。
次の質問もご覧ください。
これはまさにoEmbedプロトコルの意味です。
oEmbedは、サードパーティのサイトでURLの埋め込み表現を許可するためのフォーマットです。シンプルなAPIを使用すると、ユーザーがそのリソースへのリンクを投稿したときに、リソースを直接解析することなく、Webサイトが埋め込みコンテンツ(写真やビデオなど)を表示できます。
このドキュメントは GitHub に保存されています。
https://oembed.com の形式に関する詳細情報
https://www.youtube.com/oembed?url=http%3A//youtube.com/watch%3Fv%3DM3r2XDceM6A&format=json
出力例:
{
"version": "1.0",
"type": "video",
"provider_name": "YouTube",
"provider_url": "http://youtube.com/",
"width": 425,
"height": 344,
"title": "Amazing Nintendo Facts",
"author_name": "ZackScott",
"author_url": "http://www.youtube.com/user/ZackScott",
"html":
"<object width=\"425\" height=\"344\">
<param name=\"movie\" value=\"http://www.youtube.com/v/M3r2XDceM6A&fs=1\"></param>
<param name=\"allowFullScreen\" value=\"true\"></param>
<param name=\"allowscriptaccess\" value=\"always\"></param>
<embed src=\"http://www.youtube.com/v/M3r2XDceM6A&fs=1\"
type=\"application/x-shockwave-flash\" width=\"425\" height=\"344\"
allowscriptaccess=\"always\" allowfullscreen=\"true\"></embed>
</object>",
}
以下は、フォーマットに準拠していると宣言されたコンテンツプロバイダーのリストです。
"provider_name": "23HQ",
"provider_name": "Adways",
"provider_name": "Alpha App Net",
"provider_name": "amCharts Live Editor",
"provider_name": "Animatron",
"provider_name": "Animoto",
"provider_name": "Audiomack",
"provider_name": "AudioSnaps",
"provider_name": "Blackfire.io",
"provider_name": "Box Office Buz",
"provider_name": "Buttondown",
"provider_name": "Cacoo",
"provider_name": "Carbon Health",
"provider_name": "CatBoat",
"provider_name": "ChartBlocks",
"provider_name": "chirbit.com",
"provider_name": "CircuitLab",
"provider_name": "Clipland",
"provider_name": "Clyp",
"provider_name": "Codepen",
"provider_name": "Codepoints",
"provider_name": "CodeSandbox",
"provider_name": "CollegeHumor",
"provider_name": "Commaful",
"provider_name": "Coub",
"provider_name": "Crowd Ranking",
"provider_name": "Cyrano Systems",
"provider_name": "Daily Mile",
"provider_name": "Dailymotion",
"provider_name": "Deviantart.com",
"provider_name": "Didacte",
"provider_name": "Dipity",
"provider_name": "DocDroid",
"provider_name": "Docs",
"provider_name": "Dotsub",
"provider_name": "edocr",
"provider_name": "eduMedia",
"provider_name": "EgliseInfo",
"provider_name": "Embed Articles",
"provider_name": "Embedly",
"provider_name": "Ethfiddle",
"provider_name": "Eyrie",
"provider_name": "Facebook (Video)",
"provider_name": "Flat",
"provider_name": "Flickr",
"provider_name": "FOX SPORTS Australia",
"provider_name": "FrameBuzz",
"provider_name": "FunnyOrDie",
"provider_name": "Geograph Britain and Ireland",
"provider_name": "Geograph Channel Islands",
"provider_name": "Geograph Germany",
"provider_name": "Getty Images",
"provider_name": "Gfycat",
"provider_name": "GIPHY",
"provider_name": "Gyazo",
"provider_name": "HuffDuffer",
"provider_name": "Hulu",
"provider_name": "iFixit",
"provider_name": "IFTTT",
"provider_name": "Indaco",
"provider_name": "Infogram",
"provider_name": "Inoreader",
"provider_name": "inphood",
"provider_name": "Instagram",
"provider_name": "iSnare Articles",
"provider_name": "ivlismusic",
"provider_name": "Kickstarter",
"provider_name": "Kidoju",
"provider_name": "Kit",
"provider_name": "Kitchenbowl",
"provider_name": "Knacki",
"provider_name": "LearningApps.org",
"provider_name": "Ludus",
"provider_name": "MathEmbed",
"provider_name": "me.me",
"provider_name": "Meetup",
"provider_name": "MixCloud",
"provider_name": "Moby Picture",
"provider_name": "Modelo",
"provider_name": "myBeweeg",
"provider_name": "nanoo.tv",
"provider_name": "nfb.ca",
"provider_name": "Odds.com.au",
"provider_name": "Office Mix",
"provider_name": "Official FM",
"provider_name": "On Aol",
"provider_name": "Ora TV",
"provider_name": "Orbitvu",
"provider_name": "Oumy",
"provider_name": "Pastery",
"provider_name": "Pixdor",
"provider_name": "Poll Daddy",
"provider_name": "Port",
"provider_name": "Portfolium",
"provider_name": "Punters",
"provider_name": "Quiz.biz",
"provider_name": "Quizz.biz",
"provider_name": "RapidEngage",
"provider_name": "Reddit",
"provider_name": "ReleaseWire",
"provider_name": "RepubHub",
"provider_name": "ReverbNation",
"provider_name": "Roomshare",
"provider_name": "Rumble",
"provider_name": "Sapo Videos",
"provider_name": "Screen9",
"provider_name": "Screencast.com",
"provider_name": "Screenr",
"provider_name": "ScribbleMaps",
"provider_name": "Scribd",
"provider_name": "ShortNote",
"provider_name": "Shoudio",
"provider_name": "Show the Way, actionable location info",
"provider_name": "Silk",
"provider_name": "Simplecast",
"provider_name": "Sizzle",
"provider_name": "Sketchfab",
"provider_name": "SlideShare",
"provider_name": "SmugMug",
"provider_name": "SocialExplorer",
"provider_name": "Songlink",
"provider_name": "SoundCloud",
"provider_name": "Soundsgood",
"provider_name": "SpeakerDeck",
"provider_name": "Spotful",
"provider_name": "Spreaker",
"provider_name": "Streamable",
"provider_name": "StreamOneCloud",
"provider_name": "Sutori",
"provider_name": "Sway",
"provider_name": "Ted",
"provider_name": "The New York Times",
"provider_name": "They Said So",
"provider_name": "TickCounter",
"provider_name": "Toornament",
"provider_name": "Topy",
"provider_name": "Twitch",
"provider_name": "Twitter",
"provider_name": "Ubideo",
"provider_name": "UOL",
"provider_name": "Ustream",
"provider_name": "Utposts",
"provider_name": "Uttles",
"provider_name": "VeeR VR",
"provider_name": "Verse",
"provider_name": "VEVO",
"provider_name": "VideoJug",
"provider_name": "Vidlit",
"provider_name": "Vimeo",
"provider_name": "Vlipsy",
"provider_name": "wecandeo",
"provider_name": "Wiredrive",
"provider_name": "wizer.me",
"provider_name": "Wootled",
"provider_name": "WordPress.com",
"provider_name": "Yes, I Know IT!",
"provider_name": "YFrog",
"provider_name": "YouTube",
"provider_name": "ZProvider",
これは、このウェブサイトで[〜#〜] cors [〜#〜]が有効になっているという意味ではありません。
このデータは、ほとんどがサーバー側で解析されるように作成されています。
この情報のほとんどは、特定のページの<meta og>
open graphhtml属性を解析することでも取得できます。
開いているグラフについての情報は http://ogp.me/ を参照してください。
はいAPIがなくてもできますRequests an reモジュール
import requests,re
video_url = "https://www.youtube.com/watch?v=2i2khp_npdE"
response = requests.get(video_url).text
title = re.findall(r'"title":"[^>]*",',response)[0].split(',')[0][9:-1]
print("\n[+] Video Title: {}".format(title))
[+]ビデオタイトル:Alan Walker-Sing Me to Sleep