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() ...
随机推荐
- comm - 逐行比较两个已排序的文件
总览 (SYNOPSIS) ../src/comm [OPTION]... LEFT_FILE RIGHT_FILE 描述 (DESCRIPTION) 逐行比较 已排序的 文件 LEFT_FILE 和 ...
- Less用法注意事项
(1)引入顺序 引入你的 .less 样式文件的时候要设置 rel 属性值为 “stylesheet/less”: <link rel="stylesheet/less" t ...
- 为什么java String是固定的 为什么字符串是不可变的
String类不可变的好处 String是所有语言中最常用的一个类.我们知道在Java中,String是不可变的.final的.Java在运行时也保存了一个字符串池(String pool),这使得S ...
- mysql 使用ip地址连接不上;MySQL 可以用localhost 连接,但不能用IP连接的问题,局域网192.168.*.* 无法连接mysql
原因: Mysql 默认是没有开启这个权限的(只允许使用 host:localhost,或者 host:127.0.0.1),如果想用 host:192.168.1.* (IP地址),来访问mysql ...
- PHP 下基于 php-amqp 扩展的 RabbitMQ 简单用例 (五) -- 自动 ACK、手动 ACK、NACK
以 Direct 类型的 交换机和 Queue 的 get 方法为例. producer.php // 连接设置 $conConfig = [ 'host' => '127.0.0.1', 'p ...
- python note of decorator
def decorate_log(decorate_arg,*args,**kwargs): # 存放装饰器参数 def decorate_wrapper(func,*args,**kwargs): ...
- js中sync、defer、async的区别
<script src="script.js"></script> 没有 defer 或 async,浏览器会默认为同步sync,会立即加载并执行指定的脚本 ...
- Python 迭代器-生成器-面向过程编程
上节课复习:1. 函数的递归调用 在调用一个函数的过程中又直接或者间接地调用了函数本身称之为函数的递归 函数的递归调用有两个明确的阶段: 1. 回溯 一层一层地调用本身 注意: 1.每一次调用问题的规 ...
- 配置python3 项目环境
安装python3 安装仓库软件 sudo apt-get install software-properties-common python-software-properties 添加仓库 sud ...
- LeetCode(54)Spiral Matrix
题目 Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral ...