博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Node.js 读取博客首页并获得文章标题
阅读量:6196 次
发布时间:2019-06-21

本文共 1875 字,大约阅读时间需要 6 分钟。

app.js

// 内置http模块,提供了http服务器和客户端功能var http=require("http");// 内置文件处理模块var fs=require('fs');// 创建一个将流数据写入文件的WriteStream对象var outstream=fs.createWriteStream('./list.html');// 存储文章标题的数组var titles=[];// 请求参数JSONvar options={    hostname:'www.cnblogs.com',// 这里别加http://,否则会出现ENOTFOUND错误        port:80,        path:'/xiandedanteng/p/',// 子路径      method:'GET',};// 请求并获得数据var req=http.request(options,function(resp){    console.log('状态码resp.statusCode='+resp.statusCode);    console.log('响应头resp.headers='+JSON.stringify(resp.headers));    resp.setEncoding('utf8');    resp.on('data',function(chunk){        //console.log('响应内容:'+chunk);        // 匹配链接的正则表达式        var reg=/
(.+?)<\/a>/g var res; while((res = reg.exec(chunk)) != null){ //console.log("link="+res + '\n'); // 全部匹配的文字 //console.log("href="+res[1] + '\n'); // 子匹配 链接 //console.log("text="+res[2] + '\n'); // 子匹配 文字部分 var href=res[1]; var regHref=/http:[/][/]www.cnblogs.com[/]xiandedanteng[/]p[/](\d+).html/g; if(href.match(regHref)){ var text=res[2]; console.log("text="+text + '\n'); titles.push(text); } } outstream.write(titles.join("\n"),'utf8'); console.log('文件写入完毕。'); });});// 超时处理req.setTimeout(5000,function(){ req.abort();});// 出错处理req.on('error',function(err){ if(err.code=="ECONNRESET"){ console.log('socket端口连接超时。'); }else{ console.log('请求发生错误,err.code:'+err.code); }});// 请求结束req.end();

 

读取出来的文字目录:

Node.js 使用http客户端向网站请求数据并保存近来这些事Node.js 文件系统流pipe到Http响应流中Node.js 使用angularjs取得Nodejs http服务端返回的JSON数组示例Node.js 使用jQuery取得Nodejs http服务端返回的JSON数组示例Node.js 使用jQuery取得Nodejs http服务端返回的JSON对象示例Node.js 本地Xhr取得Node.js服务端数据的例子Node.js node主文件找不到时报出的Error:Cannot find module异常Node.js 极简入门Helloworld版服务器例子浅滩

 

你可能感兴趣的文章
C# - 值类型、引用类型&走出误区,容易错误的说法
查看>>
20171127-构建之法:现代软件工程-阅读笔记
查看>>
java 基础2
查看>>
SSRF(服务端请求伪造)
查看>>
MySQL主从延时这么长,要怎么优化?
查看>>
python os模块
查看>>
python面试大全
查看>>
使用360浏览器访问字体逆时针旋转90度的问题
查看>>
大端模式与小端模式、网络字节顺序与主机字节顺序
查看>>
MongoDB 搭建副本集
查看>>
flex 监听浏览器关闭或刷新
查看>>
程序员技能图谱
查看>>
JSTL总结摘要
查看>>
java 面试每日一题
查看>>
Windows CMD命令大全
查看>>
【转载】ESFramework介绍之(31)―― 消息分类及对应的处理器
查看>>
关于Oracle误操作--数据被Commit后的数据回退(闪回)
查看>>
SharePoint 命令 安装、部署、回收、删除、更新 wsp包 (Solution)
查看>>
DirectX11 学习笔记10 - 用文件存储顶点布局
查看>>
jvm、jre、jdk
查看>>