Python3で引用リツイートする(tweetbot)

Python3でtweetbotを作ろうとして、 Twitter APIを利用しようとしましたが、単にリツイートするだけで文章とか付けられません。引用リツイートをした い。そう思って試行錯誤したのが、この記事です。


返信リツイートするのにはどうするか。単に、引用元のツイートのパーマリンクを末尾に付けてツイートすれば良いとのこ と。そうすれば、リツイートと認識されるそうです。

Twitterのデーター形式はJSON形式になっています。それを辞書形式に変換して、情報を取り出し、URL形式に組み 立て直してから、ツイートする。

まあ、一番参考になったサイトはこちら→

TwitterAPIでツイートを大量 に取得。サーバー側エラーも考慮(pythonで)

サンプルプログラムでは、「今日」という単語を検索して、最新 のツイート一つだけに適当な文を付けてリツイートしています。
 
# -*- coding: utf-8 -*-

from requests_oauthlib import OAuth1Session
import json

#認証キー
session = OAuth1Session('xxxxxxxxxxxxxxxxxxxxxxxxxx',
                  'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
                  'xxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxx',
                  'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')

#リツイート対象となるツイート検索
url = 'https://api.twitter.com/1.1/search/tweets.json'
res = session.get(url, params = {'q':u'今日', 'count':1})

#本文を取り出してリツイート用URLを組み立てる
tweets_t = json.loads(res.text)
tweets_t['statuses'][0]['text'] = u'引用リツイートBotテスト\n'
x = tweets_t['statuses'][0]['text'] + '\n' + 'https://twitter.com/'
x= x + tweets_t['statuses'][0][u'user'][u'screen_name']
x= x + '/status/' + str(tweets_t['statuses'][0]['id'])
#リツイートをツイート形式でポスト
url ='https://api.twitter.com/1.1/statuses/update.json'
data = {'status':x}
r = session.post(url, params=data)

いじょ


 

 

  HOME

 

(c)Copyright HAZAWA KEIICHI 2018 All rights reserved