Node.js 爬蟲批量下載美劇 from 人人影視 HR-HDTV

這兩天發現了一個叫 看知乎的站點。是知乎的 蘇莉安作的,當中爬蟲使用的 Node.js。這裏就針對 上一篇博客中的美劇小爬蟲,改用 nodejs 進行實現一下。體驗一下強大的 Node.js。
假設以前沒實用過 JavaScript,最好仍是到 http://www.codecademy.com/  作一下 JavaScript 和 jQuery 的入門練習,高速熟悉一下基本的語法,有其它語言基礎一天時間足夠。

有基本的瞭解後。就會發現 JavaScript 的兩大特色:
javascript

  • 使用基於原型(prototype)的方式來實現面向對象編程。
  • 函數式編程,對函數式有興趣推薦 Racket(原PLT Scheme)。

Node.js 是基於Google 的V8 引擎的一個 JavaScript 執行時平臺,可以很是方便的編寫高速可擴展的網絡應用程序。Node.js 採取事件驅動。非堵塞 I/O模型。這使其輕量級且高效。很是適合執行在分佈式設備上的數據密集的實時應用。有了Node.js 這個執行時。JavaScript就沒必要非得在瀏覽器中執行了。用武之地大增,比方如下的小爬蟲,爬的是《紙牌屋》的高清下載連接:html

// 首先安裝兩個庫,在當前project文件夾用如下的命令行命令:
// npm install request
// npm install cheerio

var request = require("request"); // request是用來請求數據
var cheerio = require("cheerio"); // cherrio是用jquery的語法來解析html

var url = "http://www.yyets.com/resource/28793"; 
request(url, function(error, response, body) {
    if (!error && response.statusCode === 200) {
        var $ = cheerio.load(body);
        $('[type="ed2k"]').each(function() {
            var link = $(this).attr('href');
            if (typeof(link) != 'undefined' && link.indexOf("1024") > -1) {
                console.log(link);
            }
        });
    }
});

// 將文件命名爲 download.js (or whatever you like)
// 打開命令行窗體運行(windows 下推薦用 powershell):
//         node download.js > link.txt
// 經過重定向輸出,將下載連接存儲到 link.txt 這個文本文件裏
// tip: 按住 【shift】 鍵,當前文件夾內空白處右鍵會有打開命令行選項
// tip: 推薦 sublime 編輯器。安裝 js 格式化和 terminal 插件
【地址:http://blog.csdn.net/thisinnocence/article/details/40404219】
相關文章
相關標籤/搜索