1.编写目的
一个简单的例子,使用node.js来爬虫,获得某个csdn博客博主的访客,排名,分数。
2.具体过程
- 下载安装node.js(此过程非常简答,不赘述)
- 编写一个js文件。
var http = require('https');
http.get('https://blog.csdn.net/smileyan9',function(res){
var data = '';
res.on('data',function(chunk){
data += chunk;
});
res.on('end',function(){
var visitor = getOne(data,"<dt>访问:</dt>",0,0);
console.log("访问:"+visitor);
var score = getOne(data,"<dt>积分:</dt>",0,-2);
console.log("积分:"+score);
var place = getOne(data,"<dt>排名:</dt>",56,-57);
console.log("排名:"+place);
var content = '{"visitor": "'+visitor+'","score": "'+score+'","place": "'+place+'"}';
})
});
function getOne(data, key,left, right) {
var n1 = data.indexOf(key);
var visitor = data.substring(n1+36-left,n1+42+right);
return visitor;
}
3.运行非常简单,点击运行node.js控制台,跳转到此文件所在路径,然后输入命令node test.js
就可以运行。运行效果如下:
当然,如果一模一样的代码,一模一样的操作,输出结果不一样也很正常,因为这些数字都会发生一些变化。
总结
总体而言不管是操作还是实现原理,都是比较简单的,因为并没有爬什么有经济效益的数据,但是万事开头难,开头顺利了就顺利的。
为什么写这个,爬csdn,有什么作用?
纯粹兴趣爱好,偶尔爬一爬,查看自己今日访客的变化,就当做自己写的东西有人看寻求心理安慰罢了。
有什么问题欢迎交流!
Smileyan
2019年8月17日 0:37