Python 获取新浪微博的热门话题 (API)
Code:
#!/usr/bin/python
# -*- coding: utf-8 -*- '''
Created on 2014-06-27
@author: guaguastd
@name: sinaWeiboHotTrend.py
''' import json
from sinaWeiboLogin import sinaWeiboLogin # get weibo_api to access sina api
sinaWeiboApi = sinaWeiboLogin() # get sinaWeiboTrend
from sinaWeiboTrend import trendClass
trends = trendClass(sinaWeiboApi) # get sinaWeiboTrend by hourly, by daily, by weekly
while 1:
while True:
choice = raw_input("\ninput choice to get sinaWeiboTrend (1 means hourly, 2 means daily, 3 means weekly, 0 to quit):")
if choice.isdigit():
choice = int(choice)
if choice == 0 or choice == 1 or choice == 2 or choice == 3 :
break
else:
print 'input error, should input int number among 0,1,2,3, try again!' else:
print 'input error, should input int number, please try again!' if choice == 0:
print 'Succssfully exit!\r'
break
elif choice == 1:
print 'Hourly sinaWeiboTrend are as follow:\r'
hourly_trends = trends.hourly_new_trend()
print json.dumps(hourly_trends, indent=1)
elif choice == 2:
print 'Daily sinaWeiboTrend are as follow:\r'
daily_trends = trends.daily_new_trend()
print json.dumps(daily_trends, indent=1)
elif choice == 3:
print 'Weekly sinaWeiboTrend are as follow:\r'
weekly_trends = trends.weekly_new_trend()
print json.dumps(weekly_trends, indent=1)
else:
print 'Input error, try again!\r'
RESULT:
input choice to get sinaWeiboTrend (1 means hourly, 2 means daily, 3 means weekly, 0 to quit):1
Hourly sinaWeiboTrend are as follow:
{
"trends": {
"2014-07-06 08:16": [
{
"query": "\u6797\u5999\u53ef",
"amount": "26088",
"name": "\u6797\u5999\u53ef",
"delta": "26088"
},
{
"query": "\u8d1d\u513ffeynman",
"amount": "24442",
"name": "\u8d1d\u513ffeynman",
"delta": "24442"
},
{
"query": "\u5434\u901f\u73b2",
"amount": "22423",
"name": "\u5434\u901f\u73b2",
"delta": "22423"
},
{
"query": "\u8a00\u627f\u65ed",
"amount": "21956",
"name": "\u8a00\u627f\u65ed",
"delta": "21956"
},
{
"query": "\u5434\u5988",
"amount": "21533",
"name": "\u5434\u5988",
"delta": "21533"
},
{
"query": "\u591a\u59887788",
"amount": "21314",
"name": "\u591a\u59887788",
"delta": "21314"
},
{
"query": "\u52a0\u6cb9\u5434\u4ea6\u51e1",
"amount": "21051",
"name": "\u52a0\u6cb9\u5434\u4ea6\u51e1",
"delta": "21051"
},
{
"query": "\u5305\u5b50\u59b9",
"amount": "20939",
"name": "\u5305\u5b50\u59b9",
"delta": "20939"
},
{
"query": "\u7537\u795e\u9e7f\u6657\u91cd\u8fd4\u5feb\u672c",
"amount": "20570",
"name": "\u7537\u795e\u9e7f\u6657\u91cd\u8fd4\u5feb\u672c",
"delta": "20570"
},
{
"query": "\u8377\u5170 \u54e5\u65af\u8fbe\u9ece\u52a0",
"amount": "20033",
"name": "\u8377\u5170 \u54e5\u65af\u8fbe\u9ece\u52a0",
"delta": "20033"
}
]
},
"as_of": 1404605804
} input choice to get sinaWeiboTrend (1 means hourly, 2 means daily, 3 means weekly, 0 to quit):2
Daily sinaWeiboTrend are as follow:
{
"trends": {
"2014-07-06 08:23": [
{
"query": "\u6797\u5999\u53ef",
"amount": "26434",
"name": "\u6797\u5999\u53ef",
"delta": "26434"
},
{
"query": "\u8d1d\u513ffeynman",
"amount": "24677",
"name": "\u8d1d\u513ffeynman",
"delta": "24677"
},
{
"query": "\u5434\u901f\u73b2",
"amount": "22716",
"name": "\u5434\u901f\u73b2",
"delta": "22716"
},
{
"query": "\u8a00\u627f\u65ed",
"amount": "22315",
"name": "\u8a00\u627f\u65ed",
"delta": "22315"
},
{
"query": "\u8377\u5170 \u54e5\u65af\u8fbe\u9ece\u52a0",
"amount": "22162",
"name": "\u8377\u5170 \u54e5\u65af\u8fbe\u9ece\u52a0",
"delta": "22162"
},
{
"query": "\u5434\u5988",
"amount": "21776",
"name": "\u5434\u5988",
"delta": "21776"
},
{
"query": "\u52a0\u6cb9\u5434\u4ea6\u51e1",
"amount": "21389",
"name": "\u52a0\u6cb9\u5434\u4ea6\u51e1",
"delta": "21389"
},
{
"query": "\u5305\u5b50\u59b9",
"amount": "21232",
"name": "\u5305\u5b50\u59b9",
"delta": "21232"
},
{
"query": "\u53e4\u4e3d\u7c73\u5a1c",
"amount": "19406",
"name": "\u53e4\u4e3d\u7c73\u5a1c",
"delta": "19406"
},
{
"query": "\u91d1\u661f",
"amount": "19130",
"name": "\u91d1\u661f",
"delta": "19130"
}
]
},
"as_of": 1404606238
} input choice to get sinaWeiboTrend (1 means hourly, 2 means daily, 3 means weekly, 0 to quit):3
Weekly sinaWeiboTrend are as follow:
{
"trends": {
"2014-07-06 08:24": [
{
"query": "\u6797\u5999\u53ef",
"amount": "26434",
"name": "\u6797\u5999\u53ef",
"delta": "26434"
},
{
"query": "\u8d1d\u513ffeynman",
"amount": "24677",
"name": "\u8d1d\u513ffeynman",
"delta": "24677"
},
{
"query": "\u5434\u901f\u73b2",
"amount": "22716",
"name": "\u5434\u901f\u73b2",
"delta": "22716"
},
{
"query": "\u8a00\u627f\u65ed",
"amount": "22315",
"name": "\u8a00\u627f\u65ed",
"delta": "22315"
},
{
"query": "\u8377\u5170 \u54e5\u65af\u8fbe\u9ece\u52a0",
"amount": "22162",
"name": "\u8377\u5170 \u54e5\u65af\u8fbe\u9ece\u52a0",
"delta": "22162"
},
{
"query": "\u5434\u5988",
"amount": "21776",
"name": "\u5434\u5988",
"delta": "21776"
},
{
"query": "\u52a0\u6cb9\u5434\u4ea6\u51e1",
"amount": "21389",
"name": "\u52a0\u6cb9\u5434\u4ea6\u51e1",
"delta": "21389"
},
{
"query": "\u5305\u5b50\u59b9",
"amount": "21232",
"name": "\u5305\u5b50\u59b9",
"delta": "21232"
},
{
"query": "\u53e4\u4e3d\u7c73\u5a1c",
"amount": "19406",
"name": "\u53e4\u4e3d\u7c73\u5a1c",
"delta": "19406"
},
{
"query": "\u91d1\u661f",
"amount": "19130",
"name": "\u91d1\u661f",
"delta": "19130"
}
]
},
"as_of": 1404606244
} input choice to get sinaWeiboTrend (1 means hourly, 2 means daily, 3 means weekly, 0 to quit):
Python 获取新浪微博的热门话题 (API)的更多相关文章
- Python3获取新浪微博内容乱码问题
用python获取新浪微博最近发布内容的时候调用 public_timeline()函数的返回值是个jsonDict对象,首先需要将该对象通过json.dumps函数转换成字符串,然后对该字符串用GB ...
- 5-46 新浪微博热门话题 (30分)——unfinished HASH
5-46 新浪微博热门话题 (30分) 新浪微博可以在发言中嵌入“话题”,即将发言中的话题文字写在一对“#”之间,就可以生成话题链接,点击链接可以看到有多少人在跟自己讨论相同或者相似的话题.新浪微 ...
- Python知乎热门话题爬取
本例子是参考崔老师的Python3网络爬虫开发实战写的 看网页界面: 热门话题都在 explore-feed feed-item的div里面 源码如下: import requests from py ...
- 用python+selenium抓取微博24小时热门话题的前15个并保存到txt中
抓取微博24小时热门话题的前15个,抓取的内容请保存至txt文件中,需要抓取排行.话题和阅读数 #coding=utf-8 from selenium import webdriver import ...
- 定向爬虫 - Python模拟新浪微博登录
当我们试图从新浪微博抓取数据时,我们会发现网页上提示未登录,无法查看其他用户的信息. 模拟登录是定向爬虫制作中一个必须克服的问题,只有这样才能爬取到更多的内容. 实现微博登录的方法有很多,一般我们在模 ...
- 使用python的Flask实现一个RESTful API服务器端[翻译]
最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了. 本文将会使用python的Flask框架轻松实现一个RESTful的服务 ...
- 使用python的Flask实现一个RESTful API服务器端
使用python的Flask实现一个RESTful API服务器端 最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了. 本文 ...
- 用 Python 获取 B 站播放历史记录
用 Python 获取 B 站播放历史记录 最近 B 站出了一个年度报告,统计用户一年当中在 B 站上观看视频的总时长和总个数.过去一年我居然在 B 站上看了2600+个视频,总计251个小时,居然花 ...
- python获取公网ip,本地ip及所在国家城市等相关信息收藏
python获取公网ip的几种方式 from urllib2 import urlopen my_ip = urlopen('http://ip.42.pl/raw').read() ...
随机推荐
- laravel socialite微信登录注意
在token没有过期之前,重新走登录流程时会跳过callback,即不再重新登录,除了删除了客户端的token
- WOJ600——水题
第一次做本校OJ的题,被坑的好惨啊! 题目:600.Minimum Distance 题目大意:给定平面上3个点A.B.C,求平面上的任一顶点P,使得|PA|+2|PB|+3|PC|. 由于刚好在这 ...
- date - 打印或设置系统日期和时间
总览 date [选项]... [+格式] date [选项] [MMDDhhmm[[CC]YY][.ss]] 描述 根据指定格式显示当前时间或设置系统时间. -d, --date=STRING 显示 ...
- 使用cmd查看Tensorboard的生成图
代码中"graph_practice7/"文件存放的是生成的神经网络图 现在要查看这个图,使用cmd 进入文件指定目录(我的文件存储地址是E:\workspace\PycharmP ...
- CAD参数绘制点(网页版)
点在CAD中的作用除了可以分割对象外,还能测量对象,点不仅表示一个小的实体,而且通过点作为绘图的参考标记. pdmode是一个控制point的形式的系统变量,当pdmode=0时是可见的一个点,当pd ...
- NPOI--------------.Net操作Excel初步使用(导出)
背景 因公司项目需要添加数据导出功能故此添加,找了几种方式发现该方式具有 无需依赖本机安装office环境,使用灵活等优点故采用此方式. 安装 Nuget 直接安装NPOI即可 使用方式 1.根据需要 ...
- jquery ajax 同步异步的执行
jquery ajax 同步异步的执行 大家先看一段简单的jquery ajax 返回值的js 代码 function getReturnAjax{ $.ajax({ type:" ...
- ORACLE中的游标Cursor总结
游标(Cursor):用来查询数据库,获取记录集合(结果集)的指针,可以让开发者一次访问一行结果集,在每条结果集上作操作. 游标可分为: 1. 静态游标:分为显式(explicit)游标和 ...
- [Python3网络爬虫开发实战] 1.9.1-Docker的安装
Docker是一种容器技术,可以将应用和环境等进行打包,形成一个独立的.类似于iOS的App形式的“应用”.这个应用可以直接被分发到任意一个支持Docker的环境中,通过简单的命令即可启动运行.Doc ...
- PHP:Mysqli 基础类
文章来源:http://www.cnblogs.com/hello-tl/p/7592594.html <?php /** * __construct($Mysql_config) 构造函数 $ ...