python获取微博接口发微博出现403禁止访问的情况

利用微博的开放的接口,加上大佬的weibo sdk包,最后使用post.statuses update方法
来提交post请求,从而发一条微博。使用它的get方法的时候都没有问题的,但是一使用它的post中的请求的时候就会出问题:

 urllib.error.HTTPError: HTTP Error 403: Forbidden

下面是我整个的代码:

from weibo import APIClient
import urllib.request
import urllib.parse

def weibo():
    APP_KEY = '528248027'
    APP_SECRET = '4dfcbaf24dc2341d41aea5b462ac61f6'
    CALLBACK_URL = 'https://api.weibo.com/oauth2/default.html'
    OAUTH_URL = 'https://api.weibo.com/oauth2/default.html'
    USER_ID = '6270069375'
    PASSWORD = '19981027lcy'
    client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
    refer_url = client.get_authorize_url()
    print("refer_url is :", refer_url)
    cookies = urllib.request.HTTPCookieProcessor()
    opener = urllib.request.build_opener(cookies)
    urllib.request.install_opener(opener)
    postdata = {
        'client_id': APP_KEY,
        'redirect_uri': CALLBACK_URL,
        'userId': USER_ID,
        'passwd': PASSWORD,
        'isLoginSina': "1",
        'action': 'submit',
        'response_type': 'code'
    }
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36',
        'Host': 'open.weibo.com',
        'Referer': refer_url
    }
    req = urllib.request.Request(
        url=OAUTH_URL,
        data=urllib.parse.urlencode(postdata).encode(encoding='UTF8'),
        headers=headers,
    )

    resp = urllib.request.urlopen(req)
    print('callback url is :', resp.geturl())
    pat = 'code=(.*?)$'
    print(resp.geturl())
    code = input('input code:')
    print('code is :', code)

    r = client.request_access_token(code, redirect_uri=CALLBACK_URL)
    access_token1 = r.access_token
    expires_in = r.expires_in

    print('access_token=', access_token1)
    print('expires_in=', expires_in)
    #client.set_access_token(access_token1, expires_in)
    return client, access_token1, refer_url, expires_in

def main():
    client, access_token, refer_url, expires_in = weibo()
    client.set_access_token(access_token=access_token, expires_in=expires_in)#已经设置的授权,所有的get方法都是行得通的,就是不能提交post请求
    print('用户id:', client.get.account__get_uid())
    result5 = client.post.statuses__update(source='528248027', status='写一个小微博', geo_enabled=True)#发一条微博

    print(result5)



if __name__ == '__main__':
    main()

这个要是放在爬虫里面,就是需要加一些headers就可以解决了,但是在这里面,我已经获得授权了,就是已经设置过了client的access_token:

 client.set_access_token(access_token=access_token, expires_in=expires_in)

1个回答

首先查看自己账号权限和频次是否有问题,也可以通过邮件weibo_api_tech@sina.com反馈到技术那边帮你排查

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
用python自动发微博
……刚刚全部写完了点发布……结果什么都没保存……内心好忧伤。 终极目标是用raspberry pi + camera 捕捉画面,处理图像识别图中有我家主子(猫), 然后自动capture图像,发微博。raspberry pi明天才能送到,所以昨天晚上倒腾了下发微博的部分,发现还是很方便哒。 而且其实我之前从来没碰过python……所以……还是很好上手的。 第一步,  首先需要申请
微博接口
目前做了一个购书的网站,想在用户确认提交订单的时候分享这一条信息,如我在XX处购买了XX,以前没有做过微博接口分享,现在想快速做一个,因为没有时间去研究了,所以希望有这方面经验的人给出详细的步骤。只需要最简单的分享文字内容就行了。rn 如果有demo,发到243047007@qq.com,最好了。
Ajax-微博-获取微博(理解)
本套课程主要讲解内容如下: rn1.jQuery基础语法 rn2.jQuery小游戏开发 rn3.jQuery网页实战项目 rn4.jQuery实现原理 rn5.Ajax基础语法 rn7.Ajax企业网页实战项目
【Python 微博爬虫】Python 实现微博爬虫
前言—功能:这个可以用来爬取微博信息,自定义时间间隔,来爬取用户的微博动态,最后调用短信接口,来提醒用户被监控用户发微博了(因为微博里面有特别关注这个功能,所以这个实战,也仅仅只是兴趣了) 一、简介: 这个微博爬虫是基于一个比较古老的微博版本的,那个时候的微博还可以直接爬网页来获取用户的微博内容,网址是:https://weibo.cn 二、准备阶段: 首先进行爬取的时候是需要带入 cook...
长微博怎么发?
长微博怎么发?       这是一个新兴的词汇,是随着微博的发展才出现的。正常情况下,微博一次只能发140个字以内的内容。但是想要发布超过140个字的就没办法了。因此长微博转换工具出现 了,就是说可以将超过140的文字转换成图片,最多支持1万字,转换后的中文字清晰。然后以图片的形式发表,这样就突破了140个字的限制。 使用方法      打开长微博工具网站 www.cwbgj.c...
第一次发微博
第一次发微博 希望把工作中一些心得记录下来,与网友互勉
[bzoj4419][乱搞]发微博
Description 刚开通的SH微博共有n个用户(1..n标号),在短短一个月的时间内,用户们活动频繁,共有m条按时间顺序的记录: ! x 表示用户x发了一条微博; + x y 表示用户x和用户y成为了好友 - x y 表示用户x和用户y解除了好友关系 当一个用户发微博的时候,所有他的好友(直接关系)都会看到他的消息。 假设最开始所有人之间都不是好友关系,记录也都...
微博系统微博系统微博系统微博系统微博系统
用的是php语言开发的一个微博系统,微博系统微博系统微博系统微博系统微博系统
ASP.NET MVC 微博网站--获取关注的人的微博和我的微博
总代码如下: public ActionResult GetNoticeBC() { GDCPSIMEntities dc = new GDCPSIMEntities(); dc.Configuration.ProxyCreationEnabled = false; int uid = (int)Session["UId"]; //关注的人的微博 var l...
wamp 403 禁止访问
http://blog.sina.com.cn/s/blog_4a60ba9c01014nch.html 我的电脑使用的是wamp5,把php项目发布到www文件夹下后,使用http://localhost可以打开网站,然而采用我的局域网中的IP地址访问(如:http://192.168.0.108/),提示403错误,无权访问该页面。在网上找了好多资料,最后终于找到了,解决方案如下:我的wa...
访问禁止403
为什么用127.0.0.1这个IP无法访问,我本地的站点呢?和虚拟路径有关系吗???
微博android SDK,如何获取微博消息?
StatusAPI中有个方法是publicTimeline,注释是“返回最新的公共微博”,在API文档中,这个函数应该返回JSON格式,名称是Statuses,但在Android的api中,这个函数是Void的,那我应该怎么获得这个返回结果呢?rn请大牛指点
调用微博API获取微博内容
调用微博API获取微博内容在采集微博数据的时候,可以利用微博的API来进行调用。在调用微博APi的时候需要做两项工作,第一步是创建应用,第二步是安装微博SDK.一.创建应用 创建应用的目的是获取app-key和app-secret,并设置授权回调页。 (1)获取app-key和app-secret 登陆微博开放平台创建应用http://open.weibo.com/apps/new?sort=
谷粒微博之获取微博内容&过滤器介绍
<p>rn <br />rn</p>rn<p>rn <p>rn 20周年限定一卡通!<span style="color:#337FE5;">可学Java全部课程</span>,仅售799元(原价7016元),<span style="color:#E53333;">还送漫威正版授权机械键盘+CSDN 20周年限量版T恤+智能编程助手!</span>rn </p>rn <p>rn 点此链接购买:rn </p>rn <table>rn <tbody>rn <tr>rn <td>rn <span style="color:#337FE5;"><a href="https://edu.csdn.net/topic/teachercard?utm_source=jsk20xqy" target="_blank">https://edu.csdn.net/topic/teachercard?utm_source=jsk20xqy</a><br />rn</span>rn </td>rn </tr>rn </tbody>rn </table>rn</p>rn<span>&nbsp;</span> rn<p>rn <br />rn</p>rn<p>rn 本阶段详细介绍了大数据所涉及到的Linux、shell、Hadoop、zookeeper、HadoopHA、Hive、Flume、Kafka、Hbase、Sqoop、Oozie等技术的概念、安装配置、架构原理、数据类型定义、数据操作、存储集群等重点知识点。rn</p>
http 403 (禁止访问)
在2000中配置了IIS,启动默认Web站点的时候,系统说地址被占用,于是我将80端口改成了81rn就可以正常启动了,但是我却无法浏览.net创建的网页了,是什么原因啊??请指教
HTTP 403 (禁止访问)
HTTP 403 (禁止访问) 这怎么解决, 我在IIS上运行的
python爬取微博用户的微博内容和图片
想保存自己喜欢的idol微博图片,但是一张张自己保存太慢,怎么办?想保存微博博主的所有表情包,怎么才能快速把这些表情包下载到本地呢?想分析某位博主的发博规律,要分析博主所有微博信息怎么做? 移动端的微博爬取难度比较低,网址为移动端微博,打开网站,搜索进入刘亦菲的微博,如图1所示。 红圈圈的地方那一串数字就是刘亦菲微博的id啦, ...
nodejs微博系统源码(接口)
nodejs开发的微博系统,新手看看 会有很大帮助。 nodejs开发的微博系统,新手看看 会有很大帮助 nodejs开发的微博系统,新手看看 会有很大帮助
微博博客接口
csdn博客接口  http://open.csdn.net/wiki/api/blog/savearticle  新浪微博接口  http://open.weibo.com/wiki/%E5%BE%AE%E5%8D%9AAPI
分享到微博接口
分享到微博接口 http://service.weibo.com/share/share.php?title= “=”后面输入想要分享的内容即可。
微博网站技术接口
微博,各大微博网站技术接口,手机微博开发。
asp微博登录接口
asp版新浪微博登录接口,首先要去http://open.weibo.com申请个app Key与App Secret 修改oauthv2.asp文件中的Const apiKey="3367257024" '申请的app Key Const secretKey="09e1d2984b0550325d61598f905b25d34481" 'App Secret Const callback="http://www.域名.com/weibo/callback.asp" '返回地址 即可使用。
分享到微博 接口
复制一下代码放在html页面即可实现功能 "_self" onclick="(function(){var url = 'link=http://news.163.com/&amp;source='+ encodeURIComponent('网易新闻')+ '&amp;info='+ encodeURIComponent('${(activity.intro)!}') + ' '
Python爬取微博的评论人的微博网址
这次爬取微博以手机客户端为主。打开手机客户端的微博链接为 https://m.weibo.cn 进入微博后,随机找到评论多的为例。比如搜索鹿晗。爬取评论鹿晗的评论人的微博网址  打开F12控制台,点击网络,刷新页面往下滑,在控制台出现一些数据,找到数据类型为json,后边是Service Worker. 鼠标点击,如图 我们可以看到请求的网址。消息头后边的响应。打开响应,如图 ...
微博接口知识整理
开发微博接口需要填一个回调地址,因此,你得有自己的服务器,公网IP,有域名更好,没有也可以。 微博API的主页:http://open.weibo.com/首先:官方的教程,如何创建应用。 http://open.weibo.com/wiki/%E6%96%B0%E6%89%8B%E6%8C%87%E5%8D%97OAuth2.0的授权机制 http://open.weibo.com/wiki/
python 微博调用搜索引擎爬取微博
python 微博自动登入后 调用搜索引擎爬取微博
python 爬虫禁止访问解决方法(403)
1.增加Header2.代理IP3.终极方法4.实例练习5.更多思考在上一篇博客中说到,程序使用一段时间后会遇到HTTP Error 403: Forbidden错误。 因为在短时间内直接使用Get获取大量数据,会被服务器认为在对它进行攻击,所以拒绝我们的请求,自动把电脑IP封了。 解决这个问题有两种方法。一是将请求加以包装,变成浏览器请求模式,而不再是“赤裸裸”的请求。 但有时服务器是根据同一I...
微博开发之发布微博
今天我们使用微博来进行开发,实现可以将内容发布在微博上面,并显示出此微博的发布源。 在微博开发文档中介绍的,我们可以使用开发平台中提供的代码来实现,也可以使用平台中提供的SDK包,修改后实现。 下面介绍第一种方法。 我们首先找到微博组件中的发布窗,使用上面提供的代码。 下一步就需要我们粘贴复制代码。 将上面的代码粘贴复制过去以后,我们的微博发布窗就完成了。 下面介绍第二
微博设计---简易微博
简易微博,需要在Microsoft Visual Studio 2010上运行,数据库使用的是SQL Server 2008.数据库文本已放入其中。
微博的发展趋势和微博营销
微博的发展趋势和微博营销 PPT微博的发展趋势和微博营销 PPT
微博
weibo.php <?php /** * Created by PhpStorm. * User: dllo * Date: 16/8/16 * Time: 上午10:41 */ require_once "common.php"; $sql = "SELECT * FROM weibo ORDER by id DESC LIMIT 5"; $result = mysql_q
谷粒微博之发布微博
<p>rn <br />rn</p>rn<p>rn <p>rn 20周年限定一卡通!<span style="color:#337FE5;">可学Java全部课程</span>,仅售799元(原价7016元),<span style="color:#E53333;">还送漫威正版授权机械键盘+CSDN 20周年限量版T恤+智能编程助手!</span>rn </p>rn <p>rn 点此链接购买:rn </p>rn <table>rn <tbody>rn <tr>rn <td>rn <span style="color:#337FE5;"><a href="https://edu.csdn.net/topic/teachercard?utm_source=jsk20xqy" target="_blank">https://edu.csdn.net/topic/teachercard?utm_source=jsk20xqy</a><br />rn</span>rn </td>rn </tr>rn </tbody>rn </table>rn</p>rn<span>&nbsp;</span> rn<p>rn <br />rn</p>rn<p>rn 本阶段详细介绍了大数据所涉及到的Linux、shell、Hadoop、zookeeper、HadoopHA、Hive、Flume、Kafka、Hbase、Sqoop、Oozie等技术的概念、安装配置、架构原理、数据类型定义、数据操作、存储集群等重点知识点。rn</p>
微博 html静态微博
html,css,javascript些出来的静态的微博,全面动态模仿了微博系统
安卓开发 微博安卓开发 微博安卓开发 微博
安卓开发 微博安卓开发 微博安卓开发 微博
微博数据库设计 微博数据库设计
在微博系统中, 当前用户、关注者(也就是粉丝)、被关注者(崇拜对象)这三种角色是少不了的。他们之间看似简单的关系,但是其中数据库表将如何设计
获取微博列表
本课程主要从微博SDK与API讲解、微博的布局设计(上)、微博的布局设计(下)、获取微博列表、开源控件和框架的使用、发送微博这几方面手把手教你学新浪微博项目开发!
新浪定时器发微博工具
新浪定时器发微博工具 请自行修改web.config里的三行内容 <add key="AppKey" value="AppKey"/> <add key="AppSecret" value="AppSecret"/> <add key="CallbackUrl" value="CallbackUrl"/> 没有的话,申请地址:http://open.weibo.com/
IOS网络编程之微博发说说
步骤:第三方框架发微博: 1. 登录微博,点击微博页面底部的”开发平台”,再点击”微链接”下的”移动应用”,点击”立即接入”按钮,在弹出的提示框中点击”继续创建”,然后选择”应用名称”,”应用分类”,”应用平台”,点击”创建”按钮,进入另一个页面在填写相关内容. 2. 在选择”文档”,点击”API”文档,进入”API微博”页面,选择,再在”微博”接口下选择需要的类型”statuses/upd
QQ在线就能发微博
[align=center][size=large] 网页手机发微博,对我们来说已不再是什么新鲜事。但是QQ发微博却真实个稀罕事儿。请注意,我说的不是腾讯微博,而是哇哈事微博。 哇哈事微博客,又叫村里人的围脖,可以通过手机,网页和QQ法微博。现在在QQ上就能直接发微博,还能接受到微博好友发来的回复。这么好玩,你还不知道? 哇哈事微博客,还可以自定义自己的空间,可...
vba 发sina微博问题
请老师看看:rn问题:1,怎么不加载WebBrowser?2,内容是英文或数字时导致不能正常发送?rn谢谢!rn[code=VB]Option ExplicitrnSub a()rnDim ie1 As Object, dmt As Object, r As Object, i As Long, x As Long, j As Long, t As SinglernrnLoad UserForm1rnUserForm1.Show 0rnrnSet ie1 = UserForm1.WebBrowser1rnrnWith ie1rn .Navigate "http://weibo.com/" '网址rn Do Until .ReadyState = 4rn DoEventsrn Looprn If InStr(.Document.body.innertext, "你还可以输入") = 0 Thenrn .Document.all("loginname").Value = "xxxxxxxxx@qq.com"rn .Document.all("password").Value = "xxxxxxxxx"rn .Document.all("login_submit_btn").Clickrn End Ifrn On Error Resume Nextrn Do Until InStr(.Document.body.innertext, "你还可以输入") > 0 And .ReadyState = 4rn DoEventsrn Looprn t = Timerrn Do Until Timer > t + 1rn DoEventsrn Looprn .Document.all("publish_editor").Value = ""rn Do Until InStr(.Document.body.innertext, "你还可以输入140字") > 0 And .ReadyState = 4rn DoEventsrn Looprn .Document.all("publish_editor").Value = Cells(2, 1).Valuernrn .Document.all("publish_editor").Focusrn SendKeys "~", Truern Do Until InStr(.Document.body.innertext, "你还可以输入" & 140 - Len([a2]) - 1 & "字") > 0 And .ReadyState = 4rn DoEventsrn Looprn .Document.all("publisher_submit").Clickrn rnEnd WithrnrnrnEnd Sub[/code]
相关热词 c# 线程结束时执行 c# kb mb 图片 c# 替换第几位字符 c#项目决定成败 c# 与matlab c# xml缩进 c#传感器基础 c#操作wps c# md5使用方法 c# 引用父窗口的组件