Node.js入门初体验
今天有一个类似网络爬虫的需求,本来打算用我还算熟悉的asp或者asp.NET来做这个事情,但是写了这么长时间js,asp的语法实在不喜欢,VS又早被我卸掉了,思来想去打算用一下最近比较火的Node.js试一试。
倒腾了一整晚,很有必要为之文以志之下。O(∩_∩)O~
一、安装node.js
http://nodejs.org/
命令行 node -v 可以测试是否安装成功
二、使用npm安装其他库 (Node Package Manager)
程序开发中需要安装一些Nodejs提供的基本的模块之外的的工具库,比如request
1.安装
命令行 npm install request
耐心等待,字符不再往上闪动并且可以继续输入命令的时候表示安装成功了。(因为网络的原因,我的安装是不完全成功的)
2.检查是否安装成功
命令行 npm list 查看当前目录下已安装的node包
这个命令输出中可以看到有哪些包是安装失败的
比如,request下面有一行红字“UNMET DEPENDENCY”mime ~1.2.9
这说明request的一个依赖包mime没有安装成功,解决这个问题可以有两个办法:
1)重新安装 npm install mime(可以重复多次)
2)实在无效可以在github上找到相应的包页面,如https://github.com/broofa/node-mime
然后下载到nodejs安装目录\node_modules\npm\node_modules\request\node_modules\mime
注:刚和一位师哥交流了下,解决网络的问题,可以用cnpm的源,比如npm config set registry http://registry.cnpmjs.org。(具体效果如何,下次再研究)
就是淘宝的源 http://npm.taobao.org/
3.附一个npm常用的命令集合
http://hi.baidu.com/alimyself/item/3ba5200faba0c7c92f4c6b43
三、实战小应用
功能:下载一个图片到本地
新建一个demo.js的文件,写入以下代码,然后命令行 node demo.js的地址 回车
var fs = require('fs');
var request = require('request');
var imgUrl="http://static.cnblogs.com/images/logo_small.gif";
var fileName="logo_small.gif";
request.head(imgUrl, function(){
request(imgUrl).pipe(fs.createWriteStream("D:/" + fileName));
console.log("图片下载成功");
});
这个时候程序执行成功,D盘下可以看到下载下来的博客园的图标了。
哇咔咔,虽然很困,但是非常兴奋,话说明后天应该就可以写个爬虫,把某个漏洞明显的网站上的萌妹子们头像qq电话等等等等全爬下来了哦!
Node.js入门初体验的更多相关文章
- node.js + express 初体验【hello world】
[node.js] 一个神奇的XX 呵呵 :) 不知道怎么形容他才好! [express] 是node.js 开发web应用程序的框架 开发环境:XP 大家共同进步吧 :) 一:前期准备: 1:下载 ...
- Node.js 安装 初体验(1)
1.安装nodejs http://nodejs.org/download/ 自动根据系统下载自己的版本node.js 2.环境变量 windows 安装,不需要配置环境变量 mac安装后,会提 ...
- 【Node.js】初体验之安装和HelloWorld
听说Node.js是个蛮吊的东东.中午休息时间有限,暂时看了下知道怎么安装和初步使用了. 1.安装: 到Node.js官网下载就可以了,才5M多点,双击后按步骤安装就可以了. 2."Hell ...
- Node.js 的初体验
例子1: 1.首先第一步 :要 下载 node.js. 官网 上可以下载 下载完后,是这个玩意. 2. 打开 node.js ,然后输入 // 引入http模块 var http = require( ...
- gulp快速入门&初体验
前言 一句话先 gulp 是一个可以简单和自动化"管理"前端文件的构建工具 先说我以前的主要工作,我主要是做游戏服务端的,用c++/python,所以我对东西的概念理解难免要套到自 ...
- 极简 Node.js 入门 - Node.js 是什么、性能有优势?
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
- 极简 Node.js 入门 - 1.2 模块系统
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
- 极简 Node.js 入门 - 1.3 调试
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
- 极简 Node.js 入门 - 1.4 NPM & package.json
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
随机推荐
- Django models知识小点
django 为使用一种新的方式,即关系对象映射(ORM) 一,创建表 1,基本结构 注意: 1,创建标的时候,如果我们不给表加自增列,生成表的时候会默认给我们生成一列为ID的自增列,当然我们也可以自 ...
- hibernate不同版本获取获取sessionFactory
hibernate4时,我们采用以下方式获取会话工厂: // 1. 解析我们在hibernate.cfg.xml中的配置 Configuration configuration = new Confi ...
- initWithCoder与initWithFrame的区别
1. initWithFrame方法是什么? initWithFrame方法用来初始化并返回一个新的视图对象,根据指定的CGRect(尺寸). 当然,其他UI对象,也有initWithFrame方 ...
- nginx-nginx.conf脚本
user www www; worker_processes ; error_log /usr/local/nginx/logs/error.log info ; pid /var/run/nginx ...
- C语言的傻瓜式随笔(一):嵌套循环-程序结构
循环语句的嵌套 一个循环结构内可以含有另一个循环,称为循环嵌套,又称多重循环.常用的循环嵌套是二重循环,外层循环称为外循环,内层循环称为内循环. ---------不知道哪来的基础概念 这是本宝宝的第 ...
- maven 本地仓库和远程仓库
在Maven中,任何一个依赖.插件或者项目构建的输出,都可以称之为构件. Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库.(仓库就是存放依赖和插件的地方) 任何的 ...
- min.js反压缩
给个网址自己体会.. http://jsbeautifier.org/ 当需要修改min.js中的代码时,把min.js文件ctrl+c ctrl+v扔到上面的网页里,点击beautify 即可
- JAVA演算法---約瑟夫問題
1 public class Josephus { public static int[] arrayOfJosephus( int number, int per) { 3 int[] man = ...
- 安卓调用百度地图api 错误 mcode参数不存在
自己的手机app里用到了百度地图sdk,希望根据手机获得的坐标来逆向到百度地图的坐标. 根据api文档拼写了url,因为是移动端,说是要添加mcode参数,然后我的url看起来如下: http://a ...
- ASP.Net请求处理机制初步探索之旅 - Part 4 WebForm页面生命周期
开篇:上一篇我们了解了所谓的请求处理管道,在众多的事件中微软开放了19个重要的事件给我们,我们可以注入一些自定义的业务逻辑实现应用的个性化设计.本篇,我们来看看WebForm模式下的页面生命周期. ( ...