偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Python 教你自動發(fā)微博,每日一句英語

開發(fā) 后端
最近在研究用 Python 來制作各個類別的機(jī)器人,今天先來分享一個自動發(fā)布新浪微博的機(jī)器人。

 [[440912]]

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

基本思路

其實要實現(xiàn)一個簡單的自動發(fā)布微博機(jī)器人還是不難的,只需要每天按時找好要發(fā)布的素材(一般就是爬蟲了),然后再通過微博開放出來的 API 接口,自動發(fā)布即可。

素材

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

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

微博 API

微博給廣大開發(fā)者提供了一個開放平臺

https://open.weibo.com/

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

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

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

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

pip install weibo

不過我遇到了安裝問題,報錯如下 

  1. Traceback (most recent call last):  
  2.   File "setup.py", line 15, in <module>  
  3.     long_description=open('README.rst').read(),  
  4. UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 241: illegal multibyte sequence 

看起來是編碼問題,我們可以通過修改源代碼來規(guī)避

  •  1. 從 pypi.org 上下載 weibo 庫

  •  2. 然后解壓該包,并修改文件 setup.py 如下代碼 
  1. long_description=open('README.rst', encoding='utf-8').read(), 
  •  3. 分別執(zhí)行如下命令安裝 
  1. python setup.py build  
  2. python setup.py install 

至此可以安裝 weibo 庫成功

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

自動發(fā)布微博

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

  1. from weibo import Client  
  2. c = Client('App Key', 'App Secret', 'https://www.luobodazahui.top', username='username'password='password' 
  3. c.post('statuses/share', status='haha' + 安全域名) 

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

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

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

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

  1. f = open('4.png', 'rb')  
  2. c.post('statuses/share', status='haha' + 安全域名, pic=f 
  3. f.close() 

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

那么現(xiàn)在自動發(fā)布微博搞定了,我們再來看看如何自動獲取微博素材

微博素材

對于金山詞霸的每日一句,我們可以使用如下的一個 API 來獲得每天的信息

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

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

我們可以直接使用 requests 庫來調(diào)用該接口 

  1. import requests  
  2. url = 'http://open.iciba.com/dsapi/'  
  3. res = requests.get(url)  
  4. content_e = res.json()['content']  
  5. content_c = res.json()['note']  
  6. content = content_e + '\n' + content_c  
  7. content_t = res.json()['picture2'] 

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

  1. def weibo(content, picture):  
  2.     ff = requests.get(picture).content  
  3.     c = Client(app_key, app_secret, 'https://www.luobodazahui.top', usernameusername=username, passwordpassword=password)  
  4.     c.post('statuses/share', status=content + 'https://www.luobodazahui.com', pic=ff 
  5. def auto_weibo():  
  6.     url = 'http://open.iciba.com/dsapi/'  
  7.     res = requests.get(url)  
  8.     content_e = res.json()['content']  
  9.     content_c = res.json()['note']  
  10.     content = content_e + '\n' + content_c  
  11.     content_t = res.json()['picture2']  
  12.     weibo(content, content_t)  
  13.     return 'OK' 

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

0 7 * * * python auto_weibo.py

最后效果如下

今天的分享就到這里啦,如果你覺得有用請務(wù)必點個贊 + 在看 支持下。 

 

責(zé)任編輯:龐桂玉 來源: 菜鳥學(xué)Python
相關(guān)推薦

2009-03-10 18:10:12

LinuxUbuntu技巧

2020-11-27 09:57:11

Python代碼PyPy

2012-07-12 15:00:26

漏洞賬號錯亂新浪微博

2019-10-21 13:27:01

代碼開發(fā)工具

2011-03-28 15:48:52

批量數(shù)據(jù)綁定

2011-03-24 10:24:45

批量數(shù)據(jù)綁定

2020-12-16 10:43:44

PythonPyPy代碼

2012-02-09 09:41:22

2013-03-22 10:53:42

PyConPython

2011-06-13 09:25:01

斷號

2022-08-01 10:01:11

JavaScript語言代碼庫

2015-08-03 10:21:04

設(shè)計模式表達(dá)

2023-11-06 08:31:58

業(yè)務(wù)代碼多線程

2019-11-15 18:00:18

MySQLSQL數(shù)據(jù)庫

2013-05-10 10:56:09

2023-09-05 23:34:52

Kubernetes云原生

2023-07-12 08:01:28

FOADMROADMOXC

2025-03-13 11:09:47

2013-08-15 10:15:34

英語程序員

2016-09-12 15:26:06

戴爾
點贊
收藏

51CTO技術(shù)棧公眾號