在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

通過Twython在Raspberry Pi上發推文!(第2部分)

張明 ? 來源:DevicePlus ? 作者:DevicePlus ? 2023-03-01 10:19 ? 次閱讀

這篇文章來源于DevicePlus.com英語網站的翻譯稿。 poYBAGPzHnGAWZigAAIsFch76gw770.png

原文最初由deviceplus.jp.發布,本文為英譯版。
歡迎來到通過“Twython”在Raspberry Pi上發推文的第2部分。
和上次一樣,我們將遵循Raspberry Pi 官方網站文檔中的內容來完成本項目。本次,我們將介紹如何發布包含隨機字符串的推文,包含圖片的推文以及與如何實現流式API的連接。
本文中,我們將使用2017年11月29日發布的“Raspbian Stretch with desktop”操作系統和“Raspberry Pi2Model B”。
有關第1部分的內容,請查看→“通過Twython在Raspberry Pi上發推文!(第1部分)”

發布隨機推文

第七頁中的“隨機發布推文信息”功能使用了Python 中的“random”模塊,并使用了一個用于發布隨機信息的程序。

01  import random
02
03  from twython import Twython
04
05  from auth import (
06
07       consumer_key,
08       consumer_secret,
09       access_token,
10       access_token_secret
11  )
12
13
14  twitter = Twython(
15      consumer_key,
16      consumer_secret,
17      access_token,
18      access_token_secret
19
20  )
21
22
23
24  messages = [
25      "Hello world",
26      "Hi there",
27      "What's up?",
28      "How's it going?",
        "Have you been here before?",
        "Get a hair cut!",
]
message = random.choice(messages)
twitter.update_status(status=message)
print("Tweeted: %s" % message)

然后我們將文件以“random_tweet.py”的名稱保存在“/home/pi”目錄中。
第3行中名為“auth”的模塊就是我們上次所創建的“auth.py”。該模塊將“消費者密鑰(API密鑰)”、“消費者秘密(API秘密)”、“訪問令牌”和“訪問令牌秘密”都放置在了一起。接下來,我們把該模塊放入和“random_tweet.py”相同的路徑中。
auth.py

01 consumer_key  = 'ABCDEFGHIJKLKMNOPQRSTUVWXYZ'
02 consumer_secret = '1234567890ABCDEFGHIJKLMNOPQRSTUVXYZ'
03 access_token = 'ZYXWVUTSRQPONMLKJIHFEDCBA'
04 access_token_secret = '0987654321ZYXWVUTSRQPONMLKJIHFEDCBA'

*將每個值替換為您在Twitter Apps上獲取的值。
第2-15行和我們在上一篇文章末尾創建的Twitter發布程序(twitter.py)相同。
將“import random”添加到第一行,以能夠使用隨機數。在第17-24行,我們以數組的形式存儲了六個信息,接下來我們在第25行中選擇其中的一個信息。

pYYBAGPzHnSAUtSXAAC2XbN3nQk378.png圖 1

輸出內容為“How’s it going?”。這是存儲在“messages”變量(數組)中的第四個字符串。

poYBAGPzHneABm0LAAB39ybgmSw040.png圖 2

通過查看實際發布的推文,我們可以確認發布的內容為“How’s it going?”。雖然這是隨機發布的,但是如果重復發布相同的字符串,Twitter就會報錯。出現這種情況時,請隔一會再發布推文,并且盡量不要發布相同的字符串(例如,包含相同的時間或字符串)。這樣一來應該能夠解決該問題。

發布包含圖片的推文!

在開始一個新的程序之前,我們先準備好一張圖片。這次,我們將需要對文檔進行調整,并將圖像文件“image.png”存儲到“ /home/pi/Downloads/ ”目錄中。

from twython import Twython
from auth import
(
consumer_key,
consumer_secret,
access_token,
access_token_secret
)
twitter = Twython(
consumer_key,
consumer_secret,
access_token,
access_token_secret
)
message = "Hello world - here's a picture!"
with open('/home/pi/Downloads/raspberry.png', 'rb') as photo: twitter.update_status_with_media(status=message, media=photo)
print("Tweeted: %s" % message)

第17-18行需要將“update_status”改為“update_status_with_media”。

pYYBAGPzHnmAVCnvAADcQQvzM8o438.png圖 3

上圖顯示的是運行的結果。不知道為什么,出現了一些警告信息。
查看一下警告內容,其中顯示當前不建議使用“update_status_with_media”函數。

poYBAGPzHoGAP8f9AAECBely0a4529.png圖 4

雖然不推薦,但是看起來這并不影響我們成功發布推文。不過我們對于發生的狀況產生了一些興趣。查看Twython 官方網站手冊之后,我們重新寫了程序!

from twython import Twython
from auth import (
consumer_key,
consumer_secret,
access_token,
access_token_secret
twitter = Twython(
consumer_key,
consumer_secret,
access_token,
access_token_secret
message = "Hello world - here's a picture!"
photo = open('/home/pi/Downloads/raspberry.png','rb')
response = twitter.upload_media(media=photo)
twitter.update_status(status=message,
media_ids=[response['media_id']]
print("Tweeted: %s" % message)

查看手冊中“Updating Status with Image”(使用圖片更新狀態)部分后,我們更改了發布推文的有關內容。
我們在“update_status”函數中添加了圖像的參數后,成功發布了推文,并且沒有產生任何錯誤!(推文與圖4相同)。

實時推特操作!

我們將要介紹的最后一項內容是第九頁中的“測試Twython Streamer”!
這次我們要做的是“獲取”已經發布的推文,而非“發布”推文。
查看文檔中的示例后,我們進行了一定程度的修改,程序源如下所示:

from twython import TwythonStreamer
from auth import (
consumer_key,
consumer_secret,
access_token,
access_token_secret
class MyStreamer(TwythonStreamer):
def on_success(self, data):
if 'text' in data:
username = data['user']['screen_name']
tweet = data['text']
date = data['created_at']
print("%s @%s: %s" % (date,username, tweet))
print("----------")
stream = MyStreamer(
consumer_key,
consumer_secret,
access_token,
access_token_secret
stream.statuses.filter(track='#raspberrypi')

首先,第1行的導入模塊部分發生了變化。之前,所有的示例程序都在“Twython”類下,但本步更改為“TwythonStreamer”。
Streaming message (流式信息) 類型 — Twitter 開發者
“TwythonStreamer” 是一種用于Twitter中流式API的類。
Streaming message (流式信息)類型 — Twitter 開發者
在第9-16行,聲明了名為“MyStreamer”的類。這用于在找到推文時指定操作。
在上述程序源中,除了推文的正文外,日期、賬戶名稱和分隔線都是在輸出內容中自定義的。
在第18-24行,我為新的“MyStreamer”類創建了一個實例,并開始追蹤包含“# raspberrypi”的推文。

pYYBAGPzHoSABAjKAAIIKxPSF3w987.png圖 5

如果您找到了推文,輸出將如上所示。在您停止該程序之前,它會繼續獲取該類型的推文(該程序似乎不區分大小寫)。
尋找包含“#raspberrypi”的推文
接下來讓我們訪問Twitter并查看搜索結果。
您會得到部分的時間日志,不過我想從中可以大致證明這些信息是實時獲取的。

總結

至此,我們結束了介紹如何使用“Twython”的第2部分。您現在可以更加輕松地在Twitter上發布和搜索推文了!
我認為基于Python的“Twython”可以很容易地應用到任何使用元器件電子產品中。“Twython”是將通過API進行的內部處理部分與以可視化形式輸出的部分之間相連接的好方法。通過發布您所拍攝的照片,或者對包含特定關鍵字的推文進行一些操作,您可以結合所學的知識創建出各種各樣的事物!

pYYBAGPbhjqAbi1JAAAGd6_rQT0867.png

DevicePlus 編輯團隊

設備升級版適用于所有熱愛電子和機電一體化的人。

審核編輯黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    85039
  • Raspberry Pi
    +關注

    關注

    2

    文章

    559

    瀏覽量

    22342
收藏 人收藏

    評論

    相關推薦

    Raspberry Pi Pico 2

    Raspberry Pi Pico2MB),用于代碼和數據存儲。RP2350 MCU提供全面的安全架構,圍繞Cortex-M的Arm TrustZone構建,并包含簽名啟動、用于
    的頭像 發表于 11-25 15:10 ?704次閱讀
    <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> Pico <b class='flag-5'>2</b>

    智能網聯汽車云控系統2部分:車云數據交互規范

    智能網聯汽車云控系統 2部分 車云數據交互規范
    發表于 11-18 15:04 ?0次下載

    優化多相穩壓器的高端FET電壓振鈴(2部分)

    電子發燒友網站提供《優化多相穩壓器的高端FET電壓振鈴(2部分).pdf》資料免費下載
    發表于 09-25 10:12 ?0次下載
    優化多相穩壓器的高端FET電壓振鈴(<b class='flag-5'>第</b><b class='flag-5'>2</b><b class='flag-5'>部分</b>)

    如何進行電源設計-1部分

    電子發燒友網站提供《如何進行電源設計-1部分.pdf》資料免費下載
    發表于 09-07 11:10 ?0次下載
    如何進行電源設計-<b class='flag-5'>第</b>1<b class='flag-5'>部分</b>

    如何進行電源設計–2部分

    電子發燒友網站提供《如何進行電源設計–2部分.pdf》資料免費下載
    發表于 09-07 11:09 ?0次下載
    如何進行電源設計–<b class='flag-5'>第</b><b class='flag-5'>2</b><b class='flag-5'>部分</b>

    如何進行電源設計–3部分

    電子發燒友網站提供《如何進行電源設計–3部分.pdf》資料免費下載
    發表于 09-07 11:08 ?0次下載
    如何進行電源設計–<b class='flag-5'>第</b>3<b class='flag-5'>部分</b>

    如何進行電源設計–6部分

    電子發燒友網站提供《如何進行電源設計–6部分.pdf》資料免費下載
    發表于 09-06 15:05 ?0次下載
    如何進行電源設計–<b class='flag-5'>第</b>6<b class='flag-5'>部分</b>

    如何進行電源設計–4部分

    電子發燒友網站提供《如何進行電源設計–4部分.pdf》資料免費下載
    發表于 09-06 15:04 ?0次下載
    如何進行電源設計–<b class='flag-5'>第</b>4<b class='flag-5'>部分</b>

    電源設計方法-5部分

    電子發燒友網站提供《電源設計方法-5部分.pdf》資料免費下載
    發表于 09-06 14:58 ?0次下載
    電源設計方法-<b class='flag-5'>第</b>5<b class='flag-5'>部分</b>

    電源設計方法-6部分

    電子發燒友網站提供《電源設計方法-6部分.pdf》資料免費下載
    發表于 09-06 14:57 ?0次下載
    電源設計方法-<b class='flag-5'>第</b>6<b class='flag-5'>部分</b>

    電源設計方法-3部分

    電子發燒友網站提供《電源設計方法-3部分.pdf》資料免費下載
    發表于 09-06 14:56 ?0次下載
    電源設計方法-<b class='flag-5'>第</b>3<b class='flag-5'>部分</b>

    電源設計方法-2部分

    電子發燒友網站提供《電源設計方法-2部分.pdf》資料免費下載
    發表于 09-06 11:42 ?1次下載
    電源設計方法-<b class='flag-5'>第</b><b class='flag-5'>2</b><b class='flag-5'>部分</b>

    電源設計方法-1部分

    電子發燒友網站提供《電源設計方法-1部分.pdf》資料免費下載
    發表于 09-06 11:40 ?0次下載
    電源設計方法-<b class='flag-5'>第</b>1<b class='flag-5'>部分</b>

    電源設計方法-4部分

    電子發燒友網站提供《電源設計方法-4部分.pdf》資料免費下載
    發表于 09-06 11:39 ?0次下載
    電源設計方法-<b class='flag-5'>第</b>4<b class='flag-5'>部分</b>

    如何進行電源供應設計-3部分

    電子發燒友網站提供《如何進行電源供應設計-3部分.pdf》資料免費下載
    發表于 08-30 09:16 ?0次下載
    如何進行電源供應設計-<b class='flag-5'>第</b>3<b class='flag-5'>部分</b>
    主站蜘蛛池模板: 永久免费品色堂 | www.四虎影院.con | 91精品国产亚洲爽啪在线影院 | 国产精品影视 | 午夜干b | 在线国产资源 | 成人国产精品一级毛片了 | 国产高清一级视频在线观看 | 又黄又免费的网站 | 天天摸日日干 | 亚洲色图综合图区 | 最近观看免费高清视频 | 色视频免费版高清在线观看 | 国产精品色片 | 国产亚洲精品久久yy5099 | 国产黄色小视频在线观看 | 日日噜噜噜噜人人爽亚洲精品 | 久久综合免费视频 | 91大神网址 | 性瘾高h姚蕊全文免费阅读 性做久久久久 | 国产色系视频在线观看免费 | 亚洲一区二区三区电影 | 午夜三级影院 | 国产单男| 一区二区三区高清在线 | 国产黄mmd在线观看免费 | 日本亚洲在线 | 人人射人人爽 | 51久久 | 日本最顶级丰满的aⅴ艳星 日本最好的免费影院 | 五月婷婷在线视频 | 日本黄视频网站 | 欧美日本综合 | 女人18毛片水多 | 久久久免费观看 | 爱爱视频天天干 | 日本三级带日本三级带黄首页 | 日韩特黄 | 色婷婷综合网 | 色综合888| 人人插人人草 |