###前提・実現したいこと
外部サイトの検索結果一覧から、一番最初の要素について取得したいです。
以前jqueryのajax関数を使用して外部ページのDOMから情報を取得したことがあったので、
同じようなやりかたでやろうと思ったのですが、うまく取得できません。
###該当のソースコード
例えば、YouTubeで「cat」と動画検索した結果ページから、
一番上の動画へのURLを取りたい場合、以下のように実装しようと考えました。
jquery
1$.ajax({ 2 url: 'https://www.youtube.com/results?search_query=cat', 3 type: 'GET', 4 dataType: 'html', 5}) 6.done(function(data) { 7 var firstMovieURL = 'https://www.youtube.com/' + $(data).find('ytd-video-renderer:first-child a:first-child').attr('href'); 8 alert(firstMovieURL); 9}) 10.fail(function(data) { 11 alert("読み込めませんでした"); 12});
.find('ytd-video-renderer:first-child a:first-child')
の部分は、
結果一覧の中から一番最初の動画のaタグを取得するセレクタです。
しかしこれでは.failの方が実行されてしまいます。
そもそも.done(function(data) {})
自体が実行されていません。
何が問題なのでしょうか...。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。