nodejs

nodejs的tream(流)解析与模拟文件读写流源码实现

什么是流? 可读流于可写流 双工流于转换流 背压机制与文件流模拟实现 一、什么是流? 关于流的概念早在1964年就有记录被提出了,简单的说“流”就是控制数据传输过程的程序,比如在那篇记录中有这样的描述: “在编写代码时,我们应该有一些方法将程序像连接水管一样连接起来 -- 当我们需要获取一些数据时, ... »

ZheOneAndOnly nodejs

深入理解nodejs的异步IO与事件模块机制

node为什么要使用异步I/O 异步I/O的技术方案:轮询技术 node的异步I/O nodejs事件环 一、node为什么要使用异步I/O 异步最先诞生于操作系统的底层,在底层系统中,异步通过信号量、消息等方式有广泛的应用。但在大多数高级编程语言中,异步并不多见,这是因为编写异步的程序不符合人习惯 ... »

利用nodejs+phantomjs+casperjs采集淘宝商品的价格 - 隨風.NET

因为一些业务需求需要采集淘宝店铺商品的销售价格,但是淘宝详情页面的价格显示是通过js动态调用显示的.所以就没法通过普通的获取页面html然后通过正则或者xpath的方式获取到想到的信息了. 所幸我们现 »

xinzhyu

使用 nodeJs 开发微信公众号(获取access_token)

要使用微信提供的功能接口,就需要获取到access_token,这是开发公众号必不可少的一部 access_token有效期20分钟,建议保存起来,过期后在重新获取 获取流程如下: 我将微信相关的操作 »

xiaoliwang

nodejs爬虫笔记(五)---利用nightmare模拟点击下一页

目标   以腾讯滚动新闻为例,利用nightmare模拟点击下一页,爬取所有页面的信息。首先得感谢node社区godghdai的帮助,开始接触不太熟悉nightmare,感觉很高大上,自己写代码的时候问题也很多,多亏大神的指点。 一、选择模拟的原因   腾讯滚动新闻,是每六十秒更新一次,而且有下一页。要是直接获取页面的话得一页一页的获取,不太方便,又想到了找数据接口,然后通过请求得到数据,结果腾讯 »

微信公众号开发笔记2(nodejs)

本篇主要记录调用微信各种api和功能实现 一、始于access_token 无论调用微信的什么api,都需要一个查询参数,就是我们每隔1小时或者2小时获取的access_token,笔记1中已经保证了本地存储的access_token与微信服务器端一致,此时,我们就可以使用我们本地的atoken成功调用api了。 我的思路是,写一个函数getAccessToken,该函数接收一个函数参数,也就是回 »

nodejs复习03

文件系统fs 重命名 fs.rename() fs.renameSync 优先选择异步,可以进行异常判断 打开关闭文件 fd = fs.openSync(file, flags) fs.closeSync(fd) // fs.open(file, flags, function (fd) { fs.close(fd, function(err) { }) }) 当打开 »

NodeJs并发异步的回调处理

这里说并发异步,并不准确,应该说连续异步。NodeJs单线程异步的特性,直接导致多个异步同时进行时,无法确定最后的执行结果来回调。举个简单的例子: for(var i = 0; i < 5; i++) { fs.readFile('file', 'utf-8', function(error, data){}); } 连续发起了5次读文件的异步操作,很简单,那么问题来了,我怎么确 »

nodejs pm2部署配置

pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能。 1.pm2安装使用需要全局安装  npm install -g pm2 2.进入项目根目录    2.1 启动进程/应用           pm2 start bin/www 或 pm2 start app.js    2.2 重命名进程/应用           »

初识NodeJS

1.NodeJS是什么? 官网给出的解释是:基于Chrome V8引擎构建的javascript运行环境。   计算机只能识别机器代码(machine code或者native code)。C/C++作为低级语言,可以直接被机器识别。 但是javascript作为一种高级语言,是不能直接被识别的,需要一个东西将它转为机器语言,这个东西就是google公司提供的v8引擎。 v8引擎执行javascr »

macOS系统安装 appium-doctor时提示“WARN AppiumDoctor ✖ opencv4nodejs cannot be found. ” appium---【Mac】Appium-Doctor提示WARN:“ opencv4nodejs cannot be found”解决方案

【问题背景】 在macOS 系统上安装完 appium-doctor 之后,输入appium-doctor进行检查,提示“可选依赖未安装”。 (tips: 其实这些“optional dependencies 可选依赖” 并不是必须的,只要保证上面的 necessary dependencies  有全部安装完就可以。) 其中第一项就是 :“WARN AppiumDoctor ✖ opencv4n »

【nodejs】nodejs怎么请求一个链接

由于项目需求,我需要用nodejs请求某一链接去完成一些任何。本来是做PHP的,现在需要把nodejs学习一下。 今天说的就是怎么通过nodejs去请求一个链接。 请求一般分为get请求和post请求: 因为网站是http协议的,所以选择的是: http.request(options[, callback]) 先看get请求的例子: var http = require('http'); »

browserless puppeteer nodejs示例

安装 puppeteer插件npm install puppeteer -S 引入puppeteer这个插件   const puppeteer = require('puppeteer'); 两种方式抓取网页快照 用browserless.io国外网站提供的服务。这个服务对测试demo免费。无需注册。 // From inside your Node application //impor »

nodejs学习笔记(2)--Express下安装模版引擎ejs

成功安装完express后,输入express -help,根据提示安装ejs(如下图):   根据提示-e实现安装ejs,注意此处有坑:之前安装的时候根据教程(node.js开发指南第五章5.2.2节)直接输入express -t ejs microblog建立网站基本结构,结果报错:jade has been renamed to pug...然后又一头雾水查报错问题,就是因为没有看清exp »

使用archiver在nodejs下打包

  archiver是一个在nodejs中能跨平台实现打包功能的模块,可以打zip和tar包,是一个比较好用的三方模块。 使用前先安装archiver模块。 npm install archiver 建立一段代码 var archiver = require('archiver'); var fs = require('fs'); //被打包文件 var files = [ 'file »

【nodejs】初识 NodeJS(三)

上节我们将 http 服务器(server.js)和请求路由模块(route.js)整合在一起了,当然这还不够,路由,顾名思义,是指我们要针对不同的 url 有不同的处理方式。 请求处理程序模块(requestHandlers) function start() { console.log('Request handler "start" was called.'); } functi »

Linux系统(Centos)下安装nodejs并配置环境

总结Centos下安装nodejs并配置环境,记录成功安装的方法。推荐的安装方法是利用已编译的二进制文件安装,不推荐使用源码的形式安装,一是源码安装比较麻烦,二是需要自行下载编译浪费时间。 1.安装nodejs   访问nodejs的官方网站的downdolad,网址:https://nodejs.org/en/download/,可以看到最新的nodejs下载,包括不同的版本,截图如下所示。  »

CentOS安装NodeJS v0.10.25 + Express

安装必需组件 yum -y install gcc make gcc-c++ openssl-devel wget cd ~wget http://nodejs.org/dist/v0.10.25/node-v0.10.25.tar.gz tar zxvf ./node-v0.10.25.tar.gz cd node-v0.10.25 ./configure --prefix=/usr/loca »