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条数据的,如果你想取消限制的话,可以直接如下图点击取消即可