美文网首页
Nodejs 爬取多个网址并将内容存进mysql数据库

Nodejs 爬取多个网址并将内容存进mysql数据库

作者: 报告老师 | 来源:发表于2017-12-21 21:15 被阅读76次

    'use strict';

    const http = require('http');

    const cheerio = require('cheerio');

    const mysql  = require('mysql'); 

    const connection = mysql.createConnection({

      host    : 'localhost',     

        user    : 'root',       

        password : 'sjh',     

        port: '3306',   

        database: 'sjh'

    });

    var url = 'http://www.runoob.com/nodejs/nodejs-tutorial.html';

    var urls = ['http://blog.sina.com.cn/s/blog_9f23a8da010195qx.html','http://www.runoob.com/nodejs/nodejs-tutorial.html'];

    connection.connect();

    for(var i = 0;i<urls.length;i++){

    http.get(urls[i],function(res){

    var html = '';

    res.on('data',function(data){

    html+=data;

    });

    res.on('erro',function(erro){

    console.log('抓取失败!'+erro.stack);

    });

    res.on('end',function(){

    var htmlBuf = new Buffer(html);

    var h = htmlBuf.toString('base64');//缓冲形式经过base64加密

    var  sql = 'insert into html (result) values("'+h+'")';定义sql,将加密后的html插入数据库

    connection.query(sql,function (err, result) {

      if(err){

    console.log('[INSERT ERROR] - ',err.message);

    }else{

      console.log('success!');

              }

          });

        });

    });

    }

    //数据库连接先不关闭

    相关文章

      网友评论

          本文标题:Nodejs 爬取多个网址并将内容存进mysql数据库

          本文链接:https://www.haomeiwen.com/subject/sarzwxtx.html