php采集新浪微博

widuu 2013-6-28 PHP技术 2,980 0 喜欢 (0)

现在是大数据时代,我们分析的是什么?什么样的数据对我们有用呢?数据的需求量比较大,在本地弄得一个小的测试,很简单,我在本地做了一个简单的测试,采集新浪微博每五分钟采集最新的微博,这个没有什么技术含量需要的就是数据而已,现在开始吧!首先你要熟悉我上一篇文章定时计划,这个需要定时计划的哦!
建立一个数据库
[sql]
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;
[/sql]
然后我们下载新浪给的sdk,组成下边的代码,最好弄个数据库的类,我用的dedecms的
[php]
<?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 ('{$v[text]}','{$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 "成功导入";
}
[/php]
ok做到这里我们就采集到了数据,然后你也可以根据接口,做定向任务的定时的采集,譬如说采集哪些用户,是否采集你的好友的微博,或者采集你指定的用户的微博,然后发布到你的微博上这个都是可以的!效果就是这样的!

转载请注明来自微度网络,本文标题:《php采集新浪微博》

喜欢 0 发布评论
Top