獲取網頁內容(httprequestsuperagent等)html
篩選網頁信息(cheerio)node
輸出或存儲信息(consolefsmongodbmysql等)mysql
var request = require('request'); // 經過 GET 請求來讀取 http://cnodejs.org/ 的內容 request('http://cnodejs.org/', function (error, response, body) { if (!error && response.statusCode == 200) { // 輸出網頁內容 console.log(body); } });
若是是其餘的請求方法,或者須要指定請求頭等信息,能夠在第一個參數中傳入一個對象來 指定,好比:jquery
var request = require('request'); request({ url: 'http://cnodejs.org/', // 請求的URL method: 'GET', // 請求方法 headers: { // 指定請求頭 'Accept-Language': 'zh-CN,zh;q=0.8', // 指定 Accept-Language 'Cookie': '__utma=4454.11221.455353.21.143;' // 指定 Cookie } }, function (error, response, body) { if (!error && response.statusCode == 200) { console.log(body) // 輸出網頁內容 } });
cheerio 是一個 jQuery Core 的子集,其實現了 jQuery Core 中瀏覽器無關的 DOM 操做 API,如下是一個簡單的示例:sql
var cheerio = require('cheerio'); // 經過 load 方法把 HTML 代碼轉換成一個 jQuery 對象 var $ = cheerio.load('<h2 class="title">Hello world</h2>'); // 能夠使用與 jQuery 同樣的語法來操做 $('h2.title').text('Hello there!'); $('h2').addClass('welcome'); console.log($.html()); // 將輸出 <h2 class="title welcome">Hello there!</h2>
mysql 模塊內置了鏈接池機制,如下是一個簡單的使用示例:mongodb
var mysql = require('mysql'); // 建立數據庫鏈接池 var pool = mysql.createPool({ host: 'localhost', // 數據庫地址 user: 'root', // 數據庫用戶 password: '', // 對應的密碼 database: 'example', // 數據庫名稱 connectionLimit: 10 // 最大鏈接數,默認爲10 }); // 在使用 SQL 查詢前,須要調用 pool.getConnection() 來取得一個鏈接 pool.getConnection(function(err, connection) { if (err) throw err; // connection 即爲當前一個可用的數據庫鏈接 });
jquery選擇器總結 https://www.cnblogs.com/xiaxuexiaoab/p/7091527.html nodejs爬蟲 https://www.cnblogs.com/xiaxuexiaoab/p/7124956.html
歡迎評論數據庫