Nodejs简单爬虫
来源:互联网 发布:生物多样性 知乎 编辑:程序博客网 时间:2024/05/21 10:38
- 安装node
- 初始化一个项目
- testjs主要代码
- 总结
安装node
安装完成后,打开命令行,执行node -v 验证是否安装成功。
初始化一个项目
使用 npm init -y 快速初始化一个新的项目,然后新建js文件。
nodejs 爬虫需要几个模块,通过 npm install 来安装。
npm install cheerio --save-devnpm install request --save-devnpm install iconv-lite --save-dev
初始化完成后的目录结构如下
--test-----node_modules-----package.json-----test.js
test.js主要代码
引入需要的模块,
var http = require('http');var fs = require('fs');var iconv = require('iconv-lite'); var cheerio = require('cheerio');var request = require('request');
定义网站的URL,
var url ="";
定义数据保存文件,
var file = "./test.txt";
采用http发起一次get请求,
function InitialRequest(url){ http.get(url, function (req) { var html = ''; //保存请求网站的html代码 req.setEncoding('utf-8'); //防止中文乱码 //监听request data事件,当数据到来时触发事件 req.on('data', function (chunk) { //chunk表示接收到的数据 html += chunk; }); //监听request end事件,当数据传输完成时触发事件 req.on('end', function () { //用cheerio模块来解析html var $ = cheerio.load(html); //var images = $('img');//类似jquery获取dom元素 saveHtml(html,file);//将数据保存为文件 // console.log(html); }); })}
保存为文件 saveHtml函数,通过node fs模块写入文件
function saveHtml(str, file){ fs.writeFile(file, str,function(err){ if(err) console.log("fail " + err); else console.log("success"); }); }
至此,已经将网页内容抓取后保存为 test.txt文件。
总结
这是用nodejs写的简单的爬虫抓取网页内容,其实也就是一个网络请求函数和一个保存文件函数,下面是完整代码。
var http = require('http');var fs = require('fs');var iconv = require('iconv-lite'); var cheerio = require('cheerio');var request = require('request');var url ="";var file = "./test.txt";function InitialRequest(url){ http.get(url, function (req) { var html = ''; //保存请求网站的html代码 req.setEncoding('utf-8'); //防止中文乱码 //监听request data事件,当数据到来时触发事件 req.on('data', function (chunk) { //chunk表示接收到的数据 html += chunk; }); //监听request end事件,当数据传输完成时触发事件 req.on('end', function () { //用cheerio模块来解析html var $ = cheerio.load(html); //var images = $('img');//类似jquery获取dom元素 saveHtml(html,file);//将数据保存为文件 // console.log(html); }); })}function saveHtml(str, file){ fs.writeFile(file, str,function(err){ if(err) console.log("fail " + err); else console.log("success"); }); } InitialRequest(url);
0 0
- nodejs 学习 - 简单爬虫
- Nodejs简单爬虫
- nodejs 简单爬虫(一)
- nodejs 简单爬虫(二)
- 简单高效的nodejs爬虫模型
- nodejs 爬虫
- nodejs 爬虫
- nodejs 爬虫
- 【实践】nodeJS写个简单的爬虫程序
- nodejs豆瓣爬虫
- nodejs豆瓣爬虫
- NodeJs爬虫02
- NodeJS制作爬虫全过程
- NodeJs编写小爬虫
- nodejs爬虫编码问题
- 用Nodejs做爬虫
- nodejs简易爬虫
- NodeJS爬虫系统
- 视频下载
- Linux文件编程
- javascript基础:document对象
- JAVASE基础-day08(面向对象)
- [P1074]靶形数独
- Nodejs简单爬虫
- 将文件转换为char类型的文件
- 矩阵快速幂 非详解
- 集合框架的使用
- NYOJ - 737. 石子合并(一)
- 使用phpexcel解析Excel数据表并存储到数据库中全过程
- 转换
- 错误代码:0x800704cf 不能访问网络位置(win7 访问不了局域网电脑)
- POJ-1816 拨钟问题