2012年12月9日星期日

新浪微博开放平台应用之数据抓取

新浪微博开放平台为开发者提供了很多API,用于访问或修改各种数据,如微博、评论、话题、收藏、用户标签等。下面展示如何使用“话题”的API,对特定数据进行访问。

新浪微博中的话题,由##括起来,要访问话题数据,需用到 trends/statuses 接口,其接受以下参数:
  • source : 所申请的app_key
  • trend_name : 要抓取的话题
  • count : 抓取条目的数量

通过GET方式(或直接通过游览器),访问以下URL:
http://api.t.sina.com.cn/trends/statuses.json?count=40&source=31641035&trend_name=带上猫咪去旅行

该URL指示获取最多40条,话题包含“带上猫咪去旅行”关键字的微博数据,访问该URL后,可获得以下形式的数据:

[{
"created_at":"Fri Dec 07 23:01:47 +0800 2012",
"id":3520736712709956,
"text":"#带上猫咪去旅行图站#低调内测上线 http://t.cn/zjJypQ5",
"source":"<a href=\"http://weibo.com\" rel=\"nofollow\">新浪微博</a>",
"thumbnail_pic":"http://ww4.sinaimg.cn/thumbnail/66f77025gw1dzlk18f7r3j.jpg",
"bmiddle_pic":"http://ww4.sinaimg.cn/bmiddle/66f77025gw1dzlk18f7r3j.jpg",
"original_pic":"http://ww4.sinaimg.cn/large/66f77025gw1dzlk18f7r3j.jpg",
"user":
{"id":1727492133,
"screen_name":"bangerlee",
"name":"bangerlee",
"province":"44",
"city":"1",
"location":"广东 广州",
"gender":"m",
"created_at":"Fri Apr 09 15:12:15 +0800 2010",
}]

可以看到返回的微博数据包含了我们想要搜索的关键词#带上猫咪去旅行#,另还有微博文字内容、微博图片ip、微博用户名等信息。

通过一个python小程序,我们可以实现数据抓取:




























运行以上程序有:
linux # python get_data.py  
bangerlee
#带上猫咪去旅行图站#低调内测上线 http://t.cn/zjJypQ5
http://ww4.sinaimg.cn/thumbnail/66f77025gw1dzlk18f7r3j.jpg

Have fun!

没有评论:

发表评论