如何用nodejs開發爬蟲程序?
03-05
安裝必要的模塊:
Express
基於Node.js平台,快速、開放、極簡的 web 開發框架。它提供一系列強大的特性,幫助你創建各種 Web 和移動設備應用。Request簡化HTTP請求的處理,支持OAuth的簽名請求,很好很強大。
Cheerio為伺服器特別定製的,快速、靈活、實施的jQuery核心實現,像操作dom一樣操作抓取文本。mysql
node下的mysql資料庫連接模塊,存儲抓取數據。
核心邏輯:
app.get("/", function (req, res, next) {
// 用 superagent 去抓取 https://cnodejs.org/ 的內容 superagent.get("https://cnodejs.org/").end(function (err, sres) {
// 常規的錯誤處理 if (err) { return next(err); } // sres.text 裡面存儲著網頁的 html 內容,將它傳給 cheerio.load 之後 // 就可以得到一個實現了 jquery 介面的變數,我們習慣性地將它命名為 `$` // 剩下就都是 jquery 的內容了 var $ = cheerio.load(sres.text); var items = [];$("#topic_list .topic_title").each(function (idx, element) {
var $element = $(element); items.push({ title: $element.attr("title"), href: $element.attr("href") }); }); res.send(items); });});demo:https://github.com/alsotang/node-lessons/tree/master/lesson3
Coding Dojo在2017年末發布了2018年最具就業前景的幾大技術方向,分析數據來自就業網站 Indeed.com的25種編程語言、棧和框架。除去Java、Python、JavaScript、C++等七種老牌編程語言位居榜首外,Coding Dojo還將Node和MEAN列為開發人員最應該熟悉的技術。其中,Node.js在該分析數據中排行第十二位,MEAN全棧開發技術位列第十八。
開發者學習MEAN技術棧的必要性可見一斑,然而目前市面上講授MEAN全棧技術的圖書鳳毛麟角,幾乎全是國外著作或其譯本。《全棧開發之道》這本書則填補了這一空白:它緊跟技術前沿,實用性很強,而且簡明易懂,結合實例。
這本書最後一部分給出了四個應用實例,詳細講述了每個工程的實現思路與實現步驟,並且有重點或難點部分代碼解讀。該書思路清晰有條理,邏輯結構嚴密,可讀性強,很容易讓讀者順著作者的引導去思考、學習。作為本書的讀者之一,在實際練習了書中實例後,我也能舉一反三地自己做出一個小型管理系統了!
本書的另一優勢在於,相比網上的博客等資料,它更加系統化、結構化,幫我們省去了作為初學者篩選有效信息的時間和精力,同時為讀者深入學習奠定了基礎。
總而言之,我認為《全棧開發之道: MongoDB+Express+AngularJS+node.js 》這本書是MEAN全棧技術入門學習的不二之選!
推薦閱讀:
※以GeeTest為例的滑動驗證碼破解 - 參數初探
※JS try catch語句一般在什麼情況下使用?是必須使用的嗎?
※像這樣的奇偶行背景色不同的代碼塊效果是怎樣設置的?
※相比Angular,Avalon有什麼缺點呢?
※js中return有什麼設計錯誤?
TAG:編程語言 | 編程 | 軟體開發 | Node.js | JavaScript |