Python 教你自动发微博,每日一句英语
作者:周萝卜
最近在研究用 Python 来制作各个类别的机器人,今天先来分享一个自动发布新浪微博的机器人。
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789
基本思路
其实要实现一个简单的自动发布微博机器人还是不难的,只需要每天按时找好要发布的素材(一般就是爬虫了),然后再通过微博开放出来的 API 接口,自动发布即可。
素材
对于素材,我这里选取的是金山词霸的每日一句英语,我们可以爬取该网站的相关信息来组成我们的微博素材。
http://news.iciba.com/views/dailysentence/
微博 API
微博给广大开发者提供了一个开放平台
https://open.weibo.com/
当然在使用这个平台之前,我们还是要先注册并创建好应用。比如像我这样,创建好一个应用
然后我们还需要设置好安全域名(后面发布微博时会用到),在应用信息->基本信息中设置。
还需要设置应用回调地址,在应用信息->高级信息中设置。
当然对于微博 API 的调用,我们可以使用其他人封装好的第三方库来更加方便的操作,我这里使用了一个就叫做“weibo”的库,直接使用 pip 安装。
pip install weibo
不过我遇到了安装问题,报错如下
Traceback (most recent call last):File "setup.py", line 15, in <module>long_description=open('README.rst').read(),
UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 241: illegal multibyte sequence
看起来是编码问题,我们可以通过修改源代码来规避
1. 从 pypi.org 上下载 weibo 库
2. 然后解压该包,并修改文件 setup.py 如下代码
long_description=open('README.rst', encoding='utf-8').read(),
3. 分别执行如下命令安装
python setup.py build
python setup.py install
至此可以安装 weibo 库成功
准备工作与编写思路就是这些,下面我们来看看具体的过程与代码
自动发布微博
根据 weibo 库的说明文档,使用其操作微博还是相关容易的,只需要提供我们创建微博应用时的 App Key 与 App Secret 和应用回调地址信息即可。简单的调用代码如下
from weibo import Clientc = Client('App Key', 'App Secret', 'https://www.luobodazahui.top', username='username', password='password')c.post('statuses/share', status='haha' + 安全域名)
我们运行该代码,如果不出意外的话,我们就能够在该账号下的微博中看到刚刚发布的微博了。
最简单的微博已经发布成功了,那么能不能发布带有图片的微博呢,我们来尝试一下
根据接口 statuses/share 的文档说明,我们可以传入 pic 参数来进行图片的上传
我们传入 pic 参数尝试下
f = open('4.png', 'rb')
c.post('statuses/share', status='haha' + 安全域名, pic=f)
f.close()
可以的,能够正常发布带有图片的微博
那么现在自动发布微博搞定了,我们再来看看如何自动获取微博素材
微博素材
对于金山词霸的每日一句,我们可以使用如下的一个 API 来获得每天的信息
http://open.iciba.com/dsapi/
可以看到该接口返回的如下信息
我们可以直接使用 requests 库来调用该接口
import requestsurl = 'http://open.iciba.com/dsapi/'
res = requests.get(url)
content_e = res.json()['content']
content_c = res.json()['note']
content = content_e + '\n' + content_c
content_t = res.json()['picture2']
现在我们来封装两个函数,把功能完善起来
def weibo(content, picture):ff = requests.get(picture).contentc = Client(app_key, app_secret, 'https://www.luobodazahui.top', username=username, password=password)c.post('statuses/share', status=content + 'https://www.luobodazahui.com', pic=ff)def auto_weibo():url = 'http://open.iciba.com/dsapi/'res = requests.get(url)content_e = res.json()['content']content_c = res.json()['note']content = content_e + '\n' + content_ccontent_t = res.json()['picture2']weibo(content, content_t)return 'OK'
现在我们就可以创建一个定时任务,每天7点运行该脚本就可以啦
0 7 * * * python auto_weibo.py
最后效果如下
Python 教你自动发微博,每日一句英语相关推荐
- Python 教你自动发微博,每日实现一句心灵鸡汤
作者 | 周萝卜 出品 | 萝卜大杂烩 最近在研究用 Python 来制作各个类别的机器人,今天先来分享一个自动发布新浪微博的机器人. 基本思路 其实要实现一个简单的自动发布微博机器人还是不难的,只需 ...
- python 自动发微博_Python 教你自动发微博,每日一句英语
作者:周萝卜 最近在研究用 Python 来制作各个类别的机器人,今天先来分享一个自动发布新浪微博的机器人. 基本思路 其实要实现一个简单的自动发布微博机器人还是不难的,只需要每天按时找好要发布的素材 ...
- python 微博自动点赞软件_Python微博工具人,每日一句英语自动发
原标题:Python微博工具人,每日一句英语自动发 关注 来源 | 萝卜大杂烩(ID:luobodazahui) 如若转载请联系原公众号 最近在研究用 Python 来制作各个类别的机器人,今天先来分 ...
- 用python定时自动发微博_Python脚本实现自动发带图的微博
要自动发微博最简单的办法无非是调用新浪微博的API(因为只是简单的发微博,就没必要用它的SDK了).参考开发文档http://open.weibo.com/wiki/API 进行代码编写 创建应用 要 ...
- python 自动发微博 (微博H5接口)
python自动发微博,调用微博H5接口 最近一直在研究这个,希望能用微博引流,话不多说 # /usr/bin/env python # -*- coding:utf-8 -*- import thr ...
- python:从0开始自动发微博
前言 由于学院的微博需要发早安,晚安,而我经常忘记发,所以索性写个自动发微博的程序,放到服务器上..... 一.微博 1.注册一个微博 略 2.注册一个应用 名称随便取一个就行,分类和平台选择我们最熟 ...
- Python代码登录新浪微博并自动发微博
前言 对于很少玩微博@張行之_的我来说,微博内容少的可怜.所以本人就想:能不能写个成功程序来帮我发微博.这个程序要满足以下要求: 自动化,自动登录微博,自动发微博. 微博内容要有意义,不能是随机生成的 ...
- python怎么登录微博并发微博_Python代码登录新浪微博并自动发微博
前言 对于很少玩微博@張行之_的我来说,微博内容少的可怜.所以本人就想:能不能写个成功程序来帮我发微博.这个程序要满足以下要求: 自动化,自动登录微博,自动发微博. 微博内容要有意义,不能是随机生成的 ...
- python 自动发微博_GitHub - RisingStar20/pf_send_weibo: 通过爬虫自动发微博的Python项目...
pf_send_weibo 通过爬虫自动发微博的Python项目 要爬取的网站 配置自己的微博账号: USER_NAME 用户名 PASSWD 密码 # 登录方式 LOGIN_TYPE_UID = & ...
最新文章
- Linux 之alias 命令别名
- 构造数组MaxTree、环形单链表的约瑟夫问题等总结
- android fragmentactivity fragment,Android:Activity与Fragment通信(99%)完美解决方案
- VOIP侵蚀电信利益,未来最赚钱的行业.
- android真机调试看不到logcat信息
- 客户端渲染(CSR)
- WinEdt LaTex(二)—— 空心中括号
- 柳传志:如何看人和用人
- DIY_DE2之DM9000A网卡调试系列例程(一)——准备工作
- php smarty 配置,php Smarty详细配置
- win7禁用显示方向旋转快捷键
- Suse12网络设置
- 2022-03-清华管理学-清华大学-宁向东
- 慕课网-安卓攻城狮视频学习及练习(一)
- 写个脚本批量注册网站账号
- docker部署项目通过127.0.0.1访问数据库:Connection refused
- QT3D学习之路03
- Oracle语法求水仙花数,python实现水仙花数实例讲解
- Elastic认证特训营 难点解读01——best_fields, most_fields, cross_fields 拆解认知
- python3 pdf书_用python3在PDF上书写文本
热门文章
- mysql-安装包模式的安装过程-旧版
- fzyzojP2291 -- 小添添的庄园之道路修复
- 在Windows和Azure中使用加密证书提高web.config的安全性
- Ajax表格控件实现
- pl/sql developer 安装svn插件 64位
- global.asax不执行原因
- [转]C++的Json解析库:jsoncpp和boost
- Spring MVC Hibernate MySQL集成CRUD示例教程
- BGP——路由通告+IBGP水平分割机制+RR路由反射器(讲解+配置命令)
- lua学习之类型与值篇