• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
LDLX@Y火星
博客园    首页    新随笔    联系   管理    订阅  订阅

nodejs爬虫数据存入mysql

node爬虫主要用的是三个插件

request  cheerio mysql

废话不多说直接上代码

const request=require("request")  
const cheerio=require("cheerio")  
const  mysql=require('mysql')  
var connection = mysql.createConnection({  //配置参数,然后添加你的数据库里面的表
  host: 'localhost',
  user: 'root',
  password: 'root',
  database: 'test'
})
connection.connect();  //连接

function show(item){
  request('http://www.1905.com/vod/list/n_1_t_1/o1p'+item+'.html',function(err,res){  
      if(err){  
          console.log('请求出错');  
      }else{  
          var $ = cheerio.load(res.body, {decodeEntities: false});
          $('.search-list>div').each(function(){
              var newsTitle = $(this).find('p').text();
              var news1Title = $(this).find('h3').text();
              var code = $(this).find('i').text(); 
              var newsTime= "";
              var newsUrl= $(this).find('a').attr('href');

              var addSql = "insert into blog(title,time,href,title2,codeNum) values (?,?,?,?,?)"; 
              var addParmas = [newsTitle, newsTime,newsUrl,news1Title,code];
              connection.query(addSql,addParmas,function(err,data){  
                if(err){  
                    console.log("数据库连接错误");  
                }else{
                  item++; 
                  show(item)
                }
              })  
          }); 
      }  
  });
}

show(1)

前提是一定要先分析别人网站的页面结构,然后就是如果你没有esc的话,你打开本地的mysql,再test下建立一张blog的表即可

最后的效果是

就这........

 

对了,就是如果你没有取消mysql的限制的话,应该是只可以导入1000条数据的,如果你想取消限制的话,可以直接如下图点击取消即可

 

posted @ 2018-06-08 14:16  火星黑洞  阅读(1975)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3