如何使用node.js抓取具有动态内容的页面?

周杰伦:

我正在尝试抓取一个网站,但我没有得到某些要素,因为这些要素是动态创建的。

我在node.js中使用了cheerio,下面是我的代码。

var request = require('request');
var cheerio = require('cheerio');
var url = "http://www.bdtong.co.kr/index.php?c_category=C02";

request(url, function (err, res, html) {
    var $ = cheerio.load(html);
    $('.listMain > li').each(function () {
        console.log($(this).find('a').attr('href'));
    });
});

此代码返回空响应,因为加载页面时,该页面<ul id="store_list" class="listMain">为空。

内容尚未添加。

如何使用node.js获取这些元素?如何抓取具有动态内容的页面?

萨菲:

干得好;

var phantom = require('phantom');

phantom.create(function (ph) {
  ph.createPage(function (page) {
    var url = "http://www.bdtong.co.kr/index.php?c_category=C02";
    page.open(url, function() {
      page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function() {
        page.evaluate(function() {
          $('.listMain > li').each(function () {
            console.log($(this).find('a').attr('href'));
          });
        }, function(){
          ph.exit()
        });
      });
    });
  });
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在R中使用phantomJS抓取具有动态加载内容的页面

如何使用Node.js抓取页面

如何使用python从具有多个动态选择字段的页面中抓取数据?

具有动态内容的团队页面-需要使用JQuery提取图像内容的帮助

如何使用scrapy抓取具有多个页面的网站

如何使用基于npm的静态站点生成器在页面中呈现具有动态内容的组件?

如何使用Selenium抓取动态内容?

如何使用 Node.js 抓取

使用Cookie抓取动态页面

使用请求抓取动态页面

使用python抓取动态内容

如何获取具有页面结构的页面内容?

数据抓取:如何从多个页面(使用下一页)读取所有表内容?

如何从使用javascript扩展内容的页面中抓取所有信息

当顶部div高度为动态时,如何使div具有可滚动内容的div在页面中间响应高度

尝试从页面抓取动态内容我需要使用硒滚动元素并获取异常

如何使用 Splash 抓取 JS 页面?

使用node.js从多个JSON文件动态生成url和页面内容

如何抓取JS渲染页面?

如何抓取页面的动态URL?

如何通过网络抓取此动态页面?

如何用beautifulsoup抓取动态内容?

使用beautifulsoup抓取动态加载页面

如何使用生成器抓取页面内容?

如何使MigraDoc生成具有动态页面宽度的PDF?

laravel 5.4如何使页面标题具有动态性

使用beautufulsoup从div抓取页面内容

如何使用JavaScript添加的动态内容抓取网页?

Web使用Splinter模块抓取动态内容