使用节点js刮取<ul>中的所有列表<li>项

时间:2015-07-21 04:19:04

标签: javascript jquery html node.js

我正在尝试获取具有类似类属性的列表中的所有内容。我想使用cheerio,requests和jquery这样做。

列表元素的格式为:

<a href="/anime/12-oz-mouse" class="ui-btn ui-btn-icon-right ui-icon-carat-r">12 oz. Mouse</a>

所以我尝试使用 a.ui-btn ui-btn-icon-right ui-icon-carat-r 来选择所有元素并打印出来。当我运行下面的内容时,我没有看到任何结果,任何关于如何显示所有列表元素的想法;我特别想要漫画的名字here

var request = require('request');
var cheerio = require('cheerio');

request('http://m.watchcartoononline.com/cartoon-list', function (error, response, html) {
  if (!error && response.statusCode == 200) {
    var $ = cheerio.load(html);
    $('a.ui-btn.ui-btn-icon-right.ui-icon-carat-r').each(function(i,e){
        console.log("cartoon " + $(this).text());
    });
  }
});

1 个答案:

答案 0 :(得分:2)

问题是,这些类是在加载页面后使用脚本添加的,因此页面源不具备这些类。

您可以尝试的是

request('http://m.watchcartoononline.com/cartoon-list', function (error, response, html) {
  if (!error && response.statusCode == 200) {
    var $ = cheerio.load(html);
    $('ul[data-role="listview"] > li > a[href]').each(function(i,e){
        console.log("cartoon " + $(this).text());
    });
  }
});