当前位置:首页 » 编程语言 » python调用新浪api

python调用新浪api

发布时间: 2022-08-11 02:48:52

1. 如何通过python调用新浪微博的API来爬取数据

1:安装python(这个不多说啦)
2:下载新浪微博SDK的python包,解压为weibopy目录

3:申请AppKey,

流程:

1:通过oAuth认证
按我的理解简化如下:
用户在新浪微博给的页面输入账号密码,然后微博给应用一个PIN码,这样应用通过PIN码才有权限访问该用户的信息,而应用在整个过程中是接触不到密码的,所以用户觉得很安全,后果很满意
2:获得认证之后,就可以使用微博SDK提供的API获得信息啦
3:如果想设计web或者客户端应用的话,那就继续加个GUI好啦(未完成)

代码:

#!/usr/bin/python

import webbrowser

from weibopy.auth import OAuthHandler
from weibopy.api import API

AppKey = '2525355147'
AppSecret = ''

my_auth = OAuthHandler(AppKey , AppSecret)
webbrowser.open(my_auth.get_authorization_url())
verifier = raw_input('PIN: ').strip()
my_auth.get_access_token(verifier)

my_api = API(my_auth)
for comment in my_api.mentions():
object = comment
id = object.__getattribute__("id")
text = object.__getattribute__("text")
print str(id) + " : " + text

2. 怎么用python实现新浪微博的登陆与自动评论

新浪有api也有各种sdk,自己去看一下接口,没有太大问题就能做出来。

3. API编程抓取新浪微博、大众点评等方面的数据,编写一套工具,抓取一类数据,用python语言编写爬虫

这个不难实现
但是你如果要可持续的话
这个几乎是不可能实现的

鬼知道人家网页什么时候更新
所以这个自己做起来不会难
更新了自己可以随时维护

4. 使用python或者java利用新浪微博开放平台提取好友的微博内容

多了不说,自己去看下新浪微博开放平台API,按照那个API内容,20行以内得到结果,然后自己再改下格式就可以了。

5. 怎样用python爬新浪微博大V所有数据

先上结论,通过公开的api如果想爬到某大v的所有数据,需要满足以下两个条件:
1、在你的爬虫开始运行时,该大v的所有微博发布量没有超过回溯查询的上限,新浪是2000,twitter是3200。
2、爬虫程序必须不间断运行。
新浪微博的api基本完全照搬twitter,其中接口的参数特性与底层的Nosql密不可分,建议先看点Nosql数据库的设计理念有助于更好的理解api设计。
一般来说,如果决定爬某个大v,第一步先试获取该用户的基本信息,中间会包含一条最新的status,记下其中的id号作为基准,命名为baseId。
接口中最重要的两个参数:
since_id:返回ID比since_id大的微博(即比since_id时间晚的微博),默认为0。
max_id:返回ID小于或等于max_id的微博,默认为0。
出于各种原因,获取statuses的接口,固定为按id降序排列(scan_index_forward=false),即最新的statuses返回在前。假设该微博第一天上线,就一个用户,发了一百条,id是1到100。而你在该用户发了第50条的时候开始运行的爬虫,即baseId=50。
假设按每次获取10条历史数据递归,先将max_id设为baseId,获取该用户id为41-50的微博,再将max_id设为41重复循环,直到返回微博数量为1或0。这步没有问题。
获取用户最新的statuses就有些蛋疼了,since_id=50,同样获取10条数据,返回的并不是id值为51-60的数据,而是100-91的数据。简单说就是你没法从since_id逐步更新到用户当前status,而是得一口气从用户当前status更新到上次爬虫运行时得到的最后一条status。假设你的爬虫一个月才运行一次,该用户在这期间发了2300条微博,根据限制你只能更新2000条,这其中最老的300条在你的系统内就会出现“断档”。
最后一条,以上只针对公开的api,stackoverflow上twitter
API可以申请权限突破数量限制和更改排序机制,微博也应该有类似机制。

6. python调用微博api的place接口出现10014错误,怎么解决

一:获取app-key 和 app-secret

使用自己的微博账号登录微博开放平台(http://open.weibo.com/),在微博开放中心下“创建应用”创建一个应用,应用信息那些随便填,填写完毕后,不需要提交审核,需要的只是那个app-key和app-secret

二:设置授权回调页


7. 怎么用python的sdk调用新浪微博API来提取给定ID用户的微博信息

你仔细看一下新浪微博的帮助。按ID搜索微博内容似乎是被禁止的。即使有也是受限的。

事先需要申请一个开发者的ID,然后才能用这个ID登陆,继而进行后续的操作。

8. 如何用python调用新浪微博的api

与Twitter相比,新浪微博做得更好的地方是直接提供了SDK(Twitter貌似只有第三方的SDK)。而我自然是用Python SDK,一个只有几十k的玩意。

接着进入exanples文件夹(新浪这英文水平,不提了…),打开oauthSetTokenUpdate.py文件就是一个很标准的例子了。

于是照着写了一个:

view sourceprint?01 # -*- coding: utf-8 -*-

02

03 from weibopy.auth import OAuthHandler

04 from weibopy.api import API

05

06

07 consumer_key= '应用的key'

08 consumer_secret ='应用的App Secret'

09

10 auth = OAuthHandler(consumer_key, consumer_secret)

11 auth_url = auth.get_authorization_url()

12 print 'Please authorize: ' + auth_url

13 verifier = raw_input('PIN: ').strip()

14 auth.get_access_token(verifier)

15 api = API(auth)

16

17 status = api.update_status(status='hello world', lat='12.3', long='45.6') # 注意status必须是UTF-8编码的字符串,经纬度是可以不写的

18 print status.id

19 print status.text

注意consumer_key和consumer_secret需要创建一个应用才能拿到。

运行这个程序,你会发现它可耻地失败了,报出一条语法错误:

File 'C:\Documents and Settings\Administrator\Desktop\sinatpy\weibopy\api.py',
line 197 )(self, *args, post_data=post_data, headers=headers)
^SyntaxError: invalid syntax于是打开weibopy\api.py这个文件,把197行改成:

)(self, post_data=post_data, headers=headers, *args)
再运行这个程序就会提示一个URL链接,在浏览器里打开这个链接,并且给予访问权限,就会拿到一串PIN码。把这个PIN码输上去,就会发送一条推了,并且还会显示用户的Access token key和Access token secret。
可以看到整个过程是很简单的:

用你的consumer_key和consumer_secret创建一个OAuthHandler对象auth。
告诉用户访问auth.get_authorization_url(),并让用户授权这个应用。
拿到用户的PIN码,用auth.get_access_token()拿到用户的Access token key和Access token secret。
用auth创建一个API对象api。
调用api的方法,例如update_status()就是发推。详细说明可以看API文档。
当然,每次都要求用户输入PIN码也太傻了,所以在用auth.get_access_token()拿到Access token key和Access token secret之后,就可以直接用它们来创建API对象了:

view sourceprint?01 # -*- coding: utf-8 -*-

02

03 from weibopy.auth import OAuthHandler

04 from weibopy.api import API

05

06

07 consumer_key= '应用的key'

08 consumer_secret ='应用的App Secret'

09 token = '用户的Access token key'

10 tokenSecret = '用户的Access token secret'

11

12 auth = OAuthHandler(consumer_key, consumer_secret)

13 auth.setToken(token, tokenSecret)

14 api = API(auth)

15

16 status = api.update_status(status='搞定收工~')

最后想说的是新浪微博的应用审核真麻烦,没通过审核的想show下自己个性化的应用名都不行。罢了,反正我也只是玩玩而已~

看看有没有用

热点内容
微信视频如何重新缓存 发布:2025-01-21 04:44:41 浏览:879
pdf压缩文件大小 发布:2025-01-21 04:40:24 浏览:798
linux解压文件到指定 发布:2025-01-21 04:38:36 浏览:874
自己做的安卓app怎么下载 发布:2025-01-21 04:35:07 浏览:163
机顶盒加密频道 发布:2025-01-21 04:26:48 浏览:318
腾讯应用加密 发布:2025-01-21 04:24:38 浏览:988
无法访问f 发布:2025-01-21 04:24:36 浏览:539
sql实时 发布:2025-01-21 04:24:27 浏览:998
怎么在linux服务器上配ip地址 发布:2025-01-21 04:22:10 浏览:251
咖搭姆编程 发布:2025-01-21 04:19:45 浏览:674