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

2017-12-21  本文已影响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!');

          }

      });

    });

});

}

//数据库连接先不关闭

上一篇下一篇

猜你喜欢

热点阅读