`
t289571130c
  • 浏览: 15790 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

数据返回使用python调用weibo api

阅读更多

在本篇文章中,我们主要介绍数据返回的内容,自我感觉有个不错的建议和大家分享下

    考参码源: https://github.com/michaelliao/sinaweibopy/blob/master/weibo.py

    每日一道理
流逝的日子像一片片凋零的枯叶与花瓣,渐去渐远的是青春的纯情与浪漫。不记得曾有多少雨飘在胸前风响在耳畔,只知道沧桑早已漫进了我的心爬上了我的脸。当一个人与追求同行,便坎坷是伴,磨难也是伴。
  1 应用python用调weibo api
  2 
  3 # 用调的url地址  此为获得或人的个人信息的api  http://open.weibo.com/wiki/2/users/show
  4 the_url = 'https://api.weibo.com/2/users/show.json?uid=105729xxxx&access_token=2.xxx__YJBzk8g4Ddfd33f10237XXXXX'
  5 
  6 http_body = None
  7 
  8 # 发送请求并读取返回 返回的内容是个真html源代码,或者json数据,可以通过文件出输或者包一层repr()来看查内容
  9 req = urllib2.Request(the_url, data=http_body)
 10 
 11 #当然也可以用此来发送请求,并读取返回的内容是个真html源代码,可以通过文件出输或者包一层repr()来看查内容
 12 req = urllib2.Request("http://www.baidu.com", data=http_body)
 13 
 14 resp = urllib2.urlopen(req)
 15 print repr(resp.read())
 16 
 17 
 18 
 19 import json
 20 # 原配json工具
 21 json.loads(resp.read(), object_hook=_obj_hook)
 22 
 23 
 24 io = StringIO('["streaming API"]')
 25 print io.getvalue()
 26 # 出输为 ["streaming API"] io出输为一个StringIO对象 <cStringIO.StringI object at 0x1006aed80>
 27 
 28 # 注 json工具 供给load和loads2个法方
 29 json.load(fp[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])
 30 
 31 json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])
 32 
 33 其中fp 按照官方的解释[http://docs.python.org/2/glossary.html#term-file-object]是面向文件的系统,或者那种供给.read(),.write()法方的对象,比如下面的StringIO
 34 s 为通普的str或者unicode,响应json数据于python数据的对应如下
 35 
 36 [http://docs.python.org/2/library/json.html?highlight=object_hook#json-to-py-table]
 37 JSON    Python
 38 object    dict
 39 array    list
 40 string    unicode
 41 number (int)    int, long
 42 number (real)    float
 43 true    True
 44 false    False
 45 null    None
 46 
 47 # 换转json数据
 48 如果json数据如此
 49 {
 50     "ip_limit": 1000,
 51     "limit_time_unit": "HOURS",
 52     "remaining_ip_hits": 1000,
 53     "remaining_user_hits": 146,
 54     "reset_time": "2013-04-19 15:00:00",
 55     "reset_time_in_seconds": 3286,
 56     "user_limit": 150
 57 }
 58 # 关于 object_hook 非必选函数 用于换替本原鱼钓json.loads返回的一个dict,
 59 # json.loads返回的dict如果到遇一个不存在的量 比如"abc" 则会报错,
 60 # 于是用object_hook 返回一个自己定义的dict 让他在到遇"abc"这个不存在的变量时不直反接错
 61 # 而是try catch一下 返回None  更稳定
 62 
 63 def _parse_json(s):
 64     ' parse str into JsonDict '
 65 
 66     def _obj_hook(pairs):
 67         ' convert json object to python object '
 68         o = JsonDict()
 69         # print pairs['list_id']
 70         print 'text' in pairs
 71         if 'text' in pairs:
 72             # it can output utf8
 73             print pairs['text']
 74         # --- 
 75         for k, v in pairs.iteritems():
 76             o[str(k)] = v
 77         return o
 78     #loads  is  different from load
 79     return json.loads(s, object_hook=_obj_hook)
 80 
 81 class JsonDict(dict):
 82     ' general json object that allows attributes to be bound to and also behaves like a dict '
 83 
 84     def __getattr__(self, attr):
 85         try:
 86             return self[attr]
 87         except KeyError:
 88             raise AttributeError(r"'JsonDict' object has no attribute '%s'" % attr)
 89 
 90     def __setattr__(self, attr, value):
 91         self[attr] = value
 92 
 93 # 此 JsonDict 是dict(字典对象)的子类 它重写了 取索引的法方 __getattr__ 和 __setattr__
 94 
 95 # 这里获得dict里的数据有个巧技 在获得JsonDict的对象时有2中法方
 96 d1 = JsonDict();
 97 
 98 d1['a'] = 'strra'
 99 print d1['a']
100 print d1.get('a')
101 # 此 aaaa 并不在dict中
102 print d1.get('aaaa')   # None
103 print d1['aaaa']   # key error~
104 
105 # 应用get获得dict里的数据 到遇空的数据的话 可以防止error的发生 动自转成None

 

文章结束给大家分享下程序员的一些笑话语录: 女人篇
  有的女人就是Windows虽然很优秀,但是安全隐患太大。
  有的女人就是MFC她条件很好,然而不是谁都能玩的起。
  有的女人就是C#长的很漂亮,但是家务活不行。
  有的女人就是C++,她会默默的为你做很多的事情。
  有的女人就是汇编虽然很麻烦,但是有的时候还得求它。
  有的女人就是SQL,她会为你的发展带来莫大的帮助。

分享到:
评论

相关推荐

    微博API大全,授权登陆等等。带实例

    - 在实际开发中,开发者通常会使用SDK(Software Development Kit)或封装好的库来更便捷地调用微博API,例如Python的`weibo`库,JavaScript的`weibo-sdk`等。 - 调试过程中,应记录和分析日志,以便追踪问题来源...

    python新浪微博数据分布式挖掘

    本项目专注于利用Python对新浪微博数据进行分布式挖掘,涉及的关键知识点包括微博接口调用、分布式爬虫构建、Hadoop Streaming的使用以及数据的可视化。 一、**新浪微博接口之调用** 1. **环境准备**:首先需要...

    基于python实现微博情感分析设计+Flask制作restful api项目-源码

    该项目是关于使用Python进行微博情感分析以及通过Flask框架构建RESTful API的实践。下面将详细阐述其中涉及的关键技术点。 1. Python编程语言:Python是这个项目的基础,它是一种高级编程语言,以其简洁易读的语法...

    用python发新浪微博

    标题“用Python发新浪微博”揭示了我们将在讨论如何利用Python编程语言与新浪的API接口进行交互,以便发布微博。这个话题涉及到的是Web开发中的API调用和社交媒体集成。 描述中提到,这是一个使用新浪API编写的小型...

    用新浪微博SDK和python自动发送带图微博

    这个过程涉及到的知识点包括微博API的使用、Python编程基础、文件操作以及网络请求。 首先,你需要了解什么是SDK。SDK是一组工具和文档,它允许开发者更容易地与特定平台或服务进行交互。新浪微博SDK提供了与微博...

    腾讯微博接口调用

    调用腾讯微博API的关键步骤包括: 1. **注册开发者账号**:在腾讯微博开放平台官网注册成为开发者,并创建应用,获取到App Key和App Secret,这是调用API的身份凭证。 2. **OAuth授权**:使用App Key和App Secret...

    适合初学者学习的微博demo

    调用微博API通常涉及GET和POST请求。例如: - GET请求:获取用户信息,如`/users/show.json`,带上Access Token。 - POST请求:发布微博,如`/statuses/share.json`,需传递正文、图片链接等参数。 五、数据处理 ...

    Python微博数据爬取.zip

    7. **微博API**:除了直接爬取网页,还可以利用微博提供的官方API获取数据。这通常需要注册开发者账号,获取API密钥,然后遵循API规则发送请求。这种方式的优点是数据结构化且稳定,但可能受到API调用限制。 8. **...

    基于Python的新浪微博位置数据获取方法研究.zip

    2. **OAuth认证**:微博API使用OAuth 2.0协议进行身份验证。你需要使用App Key和App Secret获取一个临时的请求码,然后引导用户到微博授权页面,用户同意后返回确认码,最后用这个确认码换取Access Token。Access ...

    批量取消微博关注(基于python)

    同时,为了解析返回的JSON数据(微博API通常返回JSON格式的数据),我们需要使用json库。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。 在实际的...

    sina微博pythonSKD

    总结起来,使用"Sina微博pythonSDK"进行开发,需要掌握Python 3.x编程、OAuth2.0授权机制、HTTP请求、JSON数据处理以及微博API的调用方法。同时,理解和应用SDK提供的各种类和方法是成功开发的关键。在具体实践中,...

    腾讯微博调用demo

    4. **数据格式处理**:通常,微博API返回的数据是JSON格式,开发者需要解析这些数据,提取出需要的信息,例如用户ID、微博内容、发布时间等。 5. **错误处理**:在调用API过程中可能会遇到各种错误,如网络问题、...

    新浪、网易、腾讯实时tick接口_python股票_股票接口_新浪股票_tick股票_股票接口

    总结起来,Python调用新浪、网易、腾讯的股票Tick数据接口涉及的知识点包括:网络请求库(requests)、数据解析(JSON)、数据处理库(pandas)、数据存储(CSV、数据库)、多线程/异步处理、数据分析与可视化。...

    【python爬虫】连续爬取一个或多个新浪微博用户的数据并将结果信息写入文件或数据库 介绍

    2. **请求用户信息**:使用`requests`库向微博API发送GET请求,获取特定用户的公开信息。这通常包括用户名、粉丝数、关注数、微博数等。例如: ```python url = ...

    sinaweibopy3-master.zip

    sinaweibopy3是一个针对Python3设计的微博API接口库,它允许开发者通过调用其提供的函数,实现对微博数据的抓取、分析以及交互。这个开源项目包含了完整的源代码和使用案例,帮助开发者快速上手,实现对微博评论的...

    爬取客户端微博信息--源码

    总的来说,通过这个项目,你不仅可以掌握Python网络爬虫的基本技术,还能深入了解新浪微博API的使用,以及如何处理网络爬虫中遇到的各种挑战。这是一个极好的实践项目,对于从事数据分析、市场研究或任何需要大量...

    分享到新浪微博源码

    本资源是关于“分享到新浪微博”的源代码,主要针对希望深入理解社交媒体平台集成,尤其是新浪微博API接口使用的开发者。这份源代码提供了一个完整的实现,可以作为一个学习和参考的实例,帮助你理解和掌握如何在...

Global site tag (gtag.js) - Google Analytics