python中 getnode用法_nodejs入门教程之http的get和request简介及应用

前言

上一篇文章,我介绍了nodejs的几个常用的模块及简单的案例,今天我们再来重点看一下nodejs的http模块,关于http模块,我们可以看下nodejs官方文档。关于http模块,有兴趣的可以研究一下node的源码。http模块功能是很强大的,今天主要介绍他的get和request方法!

GET简介

我们首先来运行一下下面的代码

consthttp=require("http")http.get('http://www.baidu.com',(res)=>{console.log(`Got response: ${res.statusCode}`);// consume response bodyres.resume();}).on('error',(e)=>{console.log(`Got error: ${e.message}`);});

会返回一个200的状态码!

将上面代码稍微改进一下。

consthttp=require("http")consturl="http://www.haorooms.com/post/nodejs_rmyyong"http.get(url,(res)=>{varhtml=""res.on("data",(data)=>{html+=data})res.on("end",()=>{console.log(html)})}).on("error",(e)=>{console.log(`获取数据失败: ${e.message}`)})

运行一下这段代码,会怎么样?会把我这个页面大源码给爬下来了!

也就是说,我们可以利用http的get方法,写一个爬虫,来爬取网页数据!(很多网页爬虫都是用python写的)我们前端也可以用node写网页爬虫,来爬取数据!当然,我们来要对爬来的数据进行筛选和整合,筛选出我们想要的数据!我们可以引用cheerio,进行数据的筛选。爬取网页数据呢,可以配合nodejs的Promise对象,Promise对象是ES6的一个新的对象,最早是社区里面先提出来的,后来,jquery deferred等都引入关于jquery的deferred,我之前也写过一篇文章http://www.haorooms.com/post/jquery_deferred_img 有兴趣的可以看一下!

写爬虫代码,我在这里就不展开了,感兴趣的可以关注我的github,我会写一个简单的放上去,大家可以参考(ps暂时还没有写哦)。

request简介

http的request也很厉害!官方这么描述“This function allows one to transparently issue requests.”他的官方案例如下:

varpostData=querystring.stringify({'msg':'Hello World!'});varoptions={hostname:'www.google.com',port:80,path:'/upload',method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded','Content-Length':postData.length}};varreq=http.request(options,(res)=>{console.log(`STATUS: ${res.statusCode}`);console.log(`HEADERS: ${JSON.stringify(res.headers)}`);res.setEncoding('utf8');res.on('data',(chunk)=>{console.log(`BODY: ${chunk}`);});res.on('end',()=>{console.log('No more data in response.')})});req.on('error',(e)=>{console.log(`problem with request: ${e.message}`);});// write data to request bodyreq.write(postData);req.end();

我们可以利用这个http的request来提交一下评论,我们可以获取网站的一些评论接口,通过上面options,我们可以配置请求的headers信息,进行网站的灌水评论!

通过这个方法,我们可以写一些网站灌水插件,自动发布网站评论等等!【ps,现在网站大多都有防止灌水的机制!所以大家建议大家不要干坏事哦!!!!】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值