爬虫啦(node)

在同学的建议下我开始学习如何抓取一个网页,获取网页上的信息。

https://book.douban.com/ [豆瓣读书]

获取书名

HTTPS和cheerio模块实现

  • 通过HTTPS模块进行获取整个HTML页面
      //使用get方法发送请求
https.get(url,function (res) {
   var html = '';
   res.on('data',function (data) {
        html +=data;
   });
    res.on('end',function () {
        console.log(html);
    });
}).on('error',function () {
    console.log('爬取页面错误');
});
  • 分析所要获取的信息
警察

父亲的失乐园

可见所有的书籍的名称都在class为title的div中,以及a标签中

  • 通过cheerio模块进行对获取到的html进行分析
      //封装在crawleChapter函数中
function crawleChapter(html) {
    var $ = cheerio.load(html);
    var books = $('.title');//获取class为title的div
    var data = [];

    books.map(function (node) {
        var books = $(this);
        var booksName = books.find('a').text().trim();//遍历div,获取a标签的文本即书籍的书名信息

data.push(booksName);
    });
    console.log(data);
}

superagent模块

可以使用superagent模块来进行与服务器的交互

superagent.get(url)
        .end(function (err, res) {
          //请求成功之后进行的解析html文件
        });
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,478评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,658评论 25 709
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,716评论 6 427
  • 提到杭州,我想最经典的诗句大概非《蟾宫曲·咏西湖》中的“上有天堂,下有苏杭”莫属了吧。杭州位于中国东南沿海、浙江省...
    弓巧兮阅读 3,290评论 0 1
  • 那小囟(xin)是一个胆小的人,思维却很大胆,你不认识她,我有时候也不认识她,因为我常常把她叫成那小卤,不为别的,...
    不是鱼阅读 2,981评论 0 1