一直以来非常感谢各位的帮助。写了一个简单的爬虫,目的是把慕课网课程的章节抓取下来。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);
});
...
添加回答
举报
0/150
提交
取消