適用於Node的功能最強大,最受歡迎和生產中的抓取/抓取軟體包,祝您駭客愉快:)
下載node.js後 首先先在終端進行初始化
$ npm init -y
然後在終端中進行爬蟲模組的安裝
npm i crawler
// 匯入crawler包
var Crawler = require("crawler");
// 建立爬蟲物件
var c = new Crawler({
maxConnections : 10,
// 爬完一個數據 會觸發的事件
callback : function (error, res, done) {
if(error){
console.log(error);
}else{
// 爬去網站之後 爬蟲模組提供的一個$物件 $可以讓我們以jQuery的方法來存取數據
var $ = res.$;
console.log($("title").text());
}
done();
}
});
//需要進行爬蟲的網址
c.queue('http://www.amazon.com');
// Queue a list of URLs
c.queue(['http://www.google.com/','http://www.yahoo.com']);
// Queue URLs with custom callbacks & parameters
c.queue([{
uri: 'http://parishackers.org/',
jQuery: false,
// The global callback won't be called
callback: function (error, res, done) {
if(error){
console.log(error);
}else{
console.log('Grabbed', res.body.length, 'bytes');
}
done();
}
}]);
// Queue some HTML code directly without grabbing (mostly for tests)
c.queue([{
html: '<p>This is a <strong>test</strong></p>'
}]);
// 匯入crawler包
var Crawler = require("crawler");
// 匯入fs模組
var fs = require("fs");
// 建立爬蟲物件
var c = new Crawler({
// 最大的連線數
maxConnections: 10,
// This will be called for each crawled page
// 爬完一個數據 會觸發的事件
callback: function (error, res, done) {
if (error) {
console.log(error);
} else {
// 爬去網站之後 爬蟲模組提供的一個$物件 $可以讓我們以jQuery的方法來存取數據
var $ = res.$;
var str = "";
var foodArr = [];
$(".thumbnail").each((index, Element) => {
const img = $(Element).find("img").attr("src");
// console.log(img);
const recipe = $(Element).find(".caption p>a").text();
// console.log(recipe);
foodArr.push({
imgSrc: img,
recipe: recipe
})
})
fs.writeFile("./luowang.json", JSON.stringify(foodArr), (err) => {
console.log("寫入成功");
})
}
done();
}
});
c.queue(['https://cqcn.fandom.com/zh/wiki/%E5%8B%87%E5%A3%AB', 'https://cqcn.fandom.com/zh/wiki/%E9%AA%91%E5%A3%AB', 'https://cqcn.fandom.com/zh/wiki/%E5%89%91%E5%A3%AB', 'https://cqcn.fandom.com/zh/wiki/%E5%BC%93%E6%89%8B', 'https://cqcn.fandom.com/zh/wiki/%E7%8C%8E%E4%BA%BA', 'https://cqcn.fandom.com/zh/wiki/%E6%B3%95%E5%B8%88']);
和上面的爬蟲模組的安裝方法是差不多的
下載node.js後 首先先在終端進行初始化
$ npm init -y
然後在終端中進行mysql模組的安裝
npm i mysql
// 匯入mysql模組
var mysql = require('mysql');
// 建立數據庫連線物件 設定相關資訊
var connection = mysql.createConnection({
host: 'localhost', //主機名
user: 'root', //使用者名稱
password: 'root', //密碼
database: 'test' //數據庫名
});
//建立數據庫連線
connection.connect();
// 操作數據庫
// 1.查詢數據庫數據
// connection.query('select * from students', (error, results, fields) => {
// if (error) throw error;
// console.log(results);
// });
// 2.插入數據 insert into 數據表名(屬性名)values(屬性值)
// connection.query('insert into students (name,age,score) values("zs",18,86)', (error, results, fields) => {
// if (error) throw error;
// console.log(results);
// });
// 3.刪除 根據某一個id刪除數據
// connection.query('delete from students where id in(5,6,7)', (error, results, fields) => {
// if (error) throw error;
// console.log(results);
// });
// 4.修改數據
connection.query('update students set name="隔壁老王",score=100 where id=2', (error, results, fields) => {
if (error) throw error;
console.log(results);
});
connection.end();