php采集新浪微博
作者:佚名
現在是大數據時代,我們分析的是什么?什么樣的數據對我們有用呢?數據的需求量比較大,在本地弄得一個小的測試,很簡單,我在本地做了一個簡單的測試,采集新浪微博每五分鐘采集最新的微博,這個沒有什么技術含量需要的就是數據而已,現在開始吧!首先你要熟悉我上一篇文章定時計劃,這個需要定時計劃的哦!
現在是大數據時代,我們分析的是什么?什么樣的數據對我們有用呢?數據的需求量比較大,在本地弄得一個小的測試,很簡單,我在本地做了一個簡單的測試,采集新浪微博每五分鐘采集最新的微博,這個沒有什么技術含量需要的就是數據而已,現在開始吧!首先你要熟悉我上一篇文章定時計劃,這個需要定時計劃的哦!
建立一個數據庫
- 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做到這里我們就采集到了數據,然后你也可以根據接口,做定向任務的定時的采集,譬如說采集哪些用戶,是否采集你的好友的微博,或者采集你指定的用戶的微博,然后發布到你的微博上這個都是可以的!效果就是這樣的!
責任編輯:陳四芳
來源:
微度網絡