0

我是使用 jsdom 和 querystring 的新手。track_id我正在尝试为所有iframe html 标签中的所有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 回答