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條數據的,如果你想取消限制的話,可以直接如下圖點擊取消即可