为了账号安全,请及时绑定邮箱和手机立即绑定

nodejs爬虫中标签选择的问题

nodejs爬虫中标签选择的问题

qq_遁去的一_1 2019-03-08 14:15:18
一直以来非常感谢各位的帮助。写了一个简单的爬虫,目的是把慕课网课程的章节抓取下来。url是:https://www.imooc.com/learn/951代码可以顺利的运行,但我的理想结果是如下:第1章 课程介绍第2章 MyCAT介绍第3章 MyCAT基础第4章 课程总结但是实际却是:出现这样的原因是<strong>标签中有两段文字我的代码是这样的:const http=require('https');const fs=require('fs');const cheerio=require('cheerio');const url='https://www.imooc.com/learn/951';http.get(url,function(res){  var html='';  var titles=[];  res.setEncoding('utf-8');  res.on('data',function(chunk){    html+=chunk;  });  res.on('end',function(){    var  $=cheerio.load(html);    $('strong').each(function(){      var x=$(this).text().trim();      console.log(x);    });  });});如何把后面那段介绍文字去掉。只留一个大章节的标题。用text()取得文本数据的时候,如何才能让文字前面的空格和换行都去掉。另外我是做电商运营的,我用这个去爬取亚马逊排行top100的标题的时候,发现一个结果都出不来,但是爬取慕课网却还是可以运行的, 如果要爬取亚马逊的话,我该如何做。谢谢大家的帮助!
查看完整描述

1 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

你可以用先$('strong i').next().remove();去除你不想要的


...

 var  $=cheerio.load(html);

    $('strong i').next().remove();

    $('strong').each(function(){

      var x=$(this).text().trim();

      console.log(x);

    });

...


查看完整回答
反对 回复 2019-03-20
  • 1 回答
  • 0 关注
  • 481 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信