现在是大数据时代,我们分析的是什么?什么样的数据对我们有用呢?数据的需求量比较大,在本地弄得一个小的测试,很简单,我在本地做了一个简单的测试,采集新浪微博每五分钟采集最新的微博,这个没有什么技术含量需要的就是数据而已,现在开始吧!首先你要熟悉我上一篇文章定时计划,这个需要定时计划的哦!
建立一个数据库
- DROP TABLE IF EXISTS `weibo_data`;
- CREATE TABLE `weibo_data` (
- `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `content` varchar(1000) NOT NULL, //用户发送的内容
- `username` varchar(250) NOT NULL, //用户的昵称
- `location` varchar(250) DEFAULT NULL, //用户的地理位置
- `description` varchar(500) DEFAULT NULL, //用户的描述信息
- `avatar` varchar(250) DEFAULT NULL, //用户的头像地址
- `wurl` varchar(250) NOT NULL, //用户的新浪微博地址
- `time` varchar(200) NOT NULL, //采集的时间
- `mid` varchar(250) DEFAULT NULL, //用户的mid
- `sex` varchar(10) NOT NULL, //用户的性别 f 女 m 男
- PRIMARY KEY (`id`)
- ) ENGINE=InnoDB AUTO_INCREMENT=97 DEFAULT CHARSET=utf8;
然后我们下载新浪给的sdk,组成下边的代码,最好弄个数据库的类,我用的dedecms的
- <?php
- session_start();
- require 'mysql.class.php';
- $time=time();
- include_once( 'config.php' );
- include_once( 'saetv2.ex.class.php' );
- //echo $_SESSION['token']['access_token'];
- $c = new SaeTClientV2( "199660149" , "b67164665e6556e08xxxxxx" , "2.00IXVubC0zikVxxxxxxx" ); // 第一个是appid 第二个是app key 第三个是token 在你登陆的时候输出一下 然后写到这里就可以了
- $remen = $c->public_timeline();
- foreach($remen["statuses"] as $v){
- $result = $db->ExecNoneQuery("insert into weibo_data (`content`,`username`,`location`,`description`,`avatar`,`wurl`,`time`,`mid`,`sex`) values ('{$v1}','{$v[user][screen_name]}','{$v[user][location]}','{$v[user][description]}','{$v[user][profile_image_url]}','http://weibo.com/{$v[user][profile_url]}','{$time}','{$v[mid]}','{$v[user][gender]}')");
- }
- if($result){
- echo "成功导入";
- }
ok做到这里我们就采集到了数据,然后你也可以根据接口,做定向任务的定时的采集,譬如说采集哪些用户,是否采集你的好友的微博,或者采集你指定的用户的微博,然后发布到你的微博上这个都是可以的!效果就是这样的!