0

jsdomとquerystringを使用するのは初めてです。track_idすべてのiframehtmlタグ内のすべてのsoundcloudのページをスクレイプしようとしています。undefined最初のiframeはsoundcloudプレーヤーではないため、以下のコードはログに記録されます。

どうすれば...

  1. コードを変更して、すべてのiframeインスタンスを取得します
  2. jsdom / qsを使用して、存在するかどうhttp://w.soundcloud.com/player/?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2Fかを確認します。soundcloud(if文字列に文字列型のjsテストが含まれている場合は使用できますが、jsdom / qsを使用する方が良い方法があると思います)。

    jsdom.env({
     html: 'A_URL',
     scripts: [
       'http://code.jquery.com/jquery-1.5.min.js'
     ],
     done: function(errors, window) {
      var $ = window.$;
      var src = $('iframe').attr('src');
      var aRes = qs.parse(decodeURIComponent(url.parse(src).query)).url.split('/');
      var track_id = aRes[aRes.length-1];
    
     console.log("track_id =", track_id);
     }
    });
    
4

1 に答える 1

0
$('iframe').each(function(index, element) {
  if (element.attr['src'].match(/soundcloud/)) {
    // do your stuff
    return false; // if there's only one relevant iframe
  }
}
于 2012-07-18T02:58:36.837 に答える