NodeJs简单七行爬虫--爬取自己Qzone的说说并存入数据库
2015-02-01 11:14
405 查看
没有那么难的,嘿嘿,说起来呢其实挺简单的,只需要将自己的数据加载到程序里再进行解析就可以了,如果说你的Qzone是向所有人开放的,那么就有一个JSONP的接口,这么说来就简单了,也就不用我们再利用phantomjs,缓慢的爬了。其实程序还没有做的太过完美,只是简单地可以打印出来说说的内容,明天再做一下,把说说存到数据库里,嘿嘿。
做这个呢,需要用到一个开源库,nodegrass,是对nodejs里的http.request的封装。
先看这个代码吧,明天再完善,其实基本原型就在这里了,所需要的已经在代码里了。当然了里边的那个链接是我自己的JSONP的接口,如果你懂的话,你会知道怎么改成你的JSONP接口,但是需要说的是必须空间对所有人开放。
做这个呢,需要用到一个开源库,nodegrass,是对nodejs里的http.request的封装。
先看这个代码吧,明天再完善,其实基本原型就在这里了,所需要的已经在代码里了。当然了里边的那个链接是我自己的JSONP的接口,如果你懂的话,你会知道怎么改成你的JSONP接口,但是需要说的是必须空间对所有人开放。
var nodegrass = require('nodegrass'); var sqlite3 = require('sqlite3').verbose(); var db = new sqlite3.Database('blog.db'); var tmp = 0; function nodepa(tmp) { if (tmp == 10) tmp--; nodegrass.get("http://taotao.qq.com/cgi-bin/emotion_cgi_homepage_msg?owneruin=1187772742&start=" + tmp + "&num=10&format=jsonp", function(data, status, headers) { var json = JSON.parse(data.slice(10, -2)); for (var s in json['result']['posts']) { db.run("insert into qzone values('" + (Number(s) + tmp).toString() + "','" + json['result']['posts'][s]['content'].toString() + "','" + json['result']['posts'][s]['create_time'].toString() + "','" + json['result']['posts'][s]['createTime2'].toString() + "')", function() { if (this.changes == undefined || this.changes == null)console.log("err"); }) console.log(json['result']['posts'][s]['content']); console.log(json['result']['posts'][s]['createTime2']); console.log(Number(s) + tmp); } if (tmp < 2640) nodepa(tmp + 10); else return; }, 'utf-8').on('error', function(e) { console.log("Got error: " + e.message); }); } nodepa(tmp);
相关文章推荐
- 简单爬虫,爬取CSDN博客阅读数量并存入数据库
- 自己写的实现数据库事务的简单方法ExecuteSqlTran()
- 自己写了一个简单的数据库访问类
- nodejs 简单爬虫(二)
- python网络爬虫抓取动态网页并将数据存入数据库MySQL
- nodejs简单爬虫->获取分页数据->下载多特的应用信息
- 无组件图片与文本同步存入数据库的最简单的办法(转)
- 爬虫爬取信息存入数据库
- 自己整理的一些简单数据库导入cocos2dx的操作
- 自己实现一个简单数据库
- nodeJs爬虫获取数据简单实现代码
- 无组件图片与文本同步存入数据库的最简单的办法
- 自己写的数据库访问组件 使用ADO.NET 比较简单
- 用于参考的学生信息管理系统(数据库简单 可自己参考创建)
- nodejs 简单爬虫(一)
- 自己写的实现数据库事务的简单方法ExecuteSqlTran()
- jspsmartupload简单用法以及将路径存入数据库
- nodejs简单应用四(数据库mysql操作)
- 爬虫获取邮箱,存入数据库,发送邮件java Mail
- 自己写的实现数据库事务的简单方法ExecuteSqlTran()