zoukankan      html  css  js  c++  java
  • 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条数据的,如果你想取消限制的话,可以直接如下图点击取消即可

  • 相关阅读:
    有道
    excel 数据入库
    iso-8859-1 Unicode 编码
    爬虫编码问题
    WIKi 百科爬虫
    降低耦合性获取微博数据
    Python基础总结3-字符串
    Python基础总结2
    Linux常用命令04(其他命令)
    Linux常用命令03(系统信息)
  • 原文地址:https://www.cnblogs.com/ldlx-mars/p/9155419.html
Copyright © 2011-2022 走看看