日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

用python定时自动发微博_Python 教你自动发微博,每日一句英语

發(fā)布時(shí)間:2023/12/10 python 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用python定时自动发微博_Python 教你自动发微博,每日一句英语 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近在研究用 Python 來(lái)制作各個(gè)類別的機(jī)器人,今天先來(lái)分享一個(gè)自動(dòng)發(fā)布新浪微博的機(jī)器人。

基本思路

其實(shí)要實(shí)現(xiàn)一個(gè)簡(jiǎn)單的自動(dòng)發(fā)布微博機(jī)器人還是不難的,只需要每天按時(shí)找好要發(fā)布的素材(一般就是爬蟲(chóng)了),然后再通過(guò)微博開(kāi)放出來(lái)的 API 接口,自動(dòng)發(fā)布即可。

素材

對(duì)于素材,我這里選取的是金山詞霸的每日一句英語(yǔ),我們可以爬取該網(wǎng)站的相關(guān)信息來(lái)組成我們的微博素材。

http://news.iciba.com/views/dailysentence/

微博 API

微博給廣大開(kāi)發(fā)者提供了一個(gè)開(kāi)放平臺(tái)

https://open.weibo.com/

當(dāng)然在使用這個(gè)平臺(tái)之前,我們還是要先注冊(cè)并創(chuàng)建好應(yīng)用。比如像我這樣,創(chuàng)建好一個(gè)應(yīng)用

然后我們還需要設(shè)置好安全域名(后面發(fā)布微博時(shí)會(huì)用到),在應(yīng)用信息->基本信息中設(shè)置。

還需要設(shè)置應(yīng)用回調(diào)地址,在應(yīng)用信息->高級(jí)信息中設(shè)置。

當(dāng)然對(duì)于微博 API 的調(diào)用,我們可以使用其他人封裝好的第三方庫(kù)來(lái)更加方便的操作,我這里使用了一個(gè)就叫做“weibo”的庫(kù),直接使用 pip 安裝。

pip install weibo

不過(guò)我遇到了安裝問(wèn)題,報(bào)錯(cuò)如下

Traceback?(most?recent?call?last):

File?"setup.py",?line?15,?in?

long_description=open('README.rst').read(),

UnicodeDecodeError:?'gbk'?codec?can't?decode?byte?0xae?in?position?241:?illegal?multibyte?sequence

看起來(lái)是編碼問(wèn)題,我們可以通過(guò)修改源代碼來(lái)規(guī)避

1. 從 pypi.org 上下載 weibo 庫(kù)

2. 然后解壓該包,并修改文件 setup.py 如下代碼

long_description=open('README.rst',?encoding='utf-8').read(),

3. 分別執(zhí)行如下命令安裝

python?setup.py?build

python?setup.py?install

至此可以安裝 weibo 庫(kù)成功

準(zhǔn)備工作與編寫思路就是這些,下面我們來(lái)看看具體的過(guò)程與代碼

自動(dòng)發(fā)布微博

根據(jù) weibo 庫(kù)的說(shuō)明文檔,使用其操作微博還是相關(guān)容易的,只需要提供我們創(chuàng)建微博應(yīng)用時(shí)的 App Key 與 App Secret 和應(yīng)用回調(diào)地址信息即可。簡(jiǎn)單的調(diào)用代碼如下

from?weibo?import?Client

c?=?Client('App?Key',?'App?Secret',?'https://www.luobodazahui.top',?username='username',?password='password')

c.post('statuses/share',?status='haha'?+?安全域名)

我們運(yùn)行該代碼,如果不出意外的話,我們就能夠在該賬號(hào)下的微博中看到剛剛發(fā)布的微博了。

最簡(jiǎn)單的微博已經(jīng)發(fā)布成功了,那么能不能發(fā)布帶有圖片的微博呢,我們來(lái)嘗試一下

根據(jù)接口 statuses/share 的文檔說(shuō)明,我們可以傳入 pic 參數(shù)來(lái)進(jìn)行圖片的上傳

我們傳入 pic 參數(shù)嘗試下

f?=?open('4.png',?'rb')

c.post('statuses/share',?status='haha'?+?安全域名,?pic=f)

f.close()

可以的,能夠正常發(fā)布帶有圖片的微博

那么現(xiàn)在自動(dòng)發(fā)布微博搞定了,我們?cè)賮?lái)看看如何自動(dòng)獲取微博素材

微博素材

對(duì)于金山詞霸的每日一句,我們可以使用如下的一個(gè) API 來(lái)獲得每天的信息

http://open.iciba.com/dsapi/

可以看到該接口返回的如下信息

我們可以直接使用 requests 庫(kù)來(lái)調(diào)用該接口

import?requests

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_c

content_t?=?res.json()['picture2']

現(xiàn)在我們來(lái)封裝兩個(gè)函數(shù),把功能完善起來(lái)

def?weibo(content,?picture):

ff?=?requests.get(picture).content

c?=?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_c

content_t?=?res.json()['picture2']

weibo(content,?content_t)

return?'OK'

現(xiàn)在我們就可以創(chuàng)建一個(gè)定時(shí)任務(wù),每天7點(diǎn)運(yùn)行該腳本就可以啦

0 7 * * * python auto_weibo.py

總結(jié)

以上是生活随笔為你收集整理的用python定时自动发微博_Python 教你自动发微博,每日一句英语的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。