地平線まで行ってくる。

記録あるいは忘備録。時には検討事項。

マルコフ連鎖による文章自動生成 #5 つぶやいてみる。

 素材はできました。

 文章は多少チューニングしたけれども、集める文章や辞書の質も大事なので、まだまだ地道な作業は必要っぽい。

  

bwgift.hatenadiary.jp

 

 malkov_sentences.txtというファイルに生成文章を保存しているので、それを参照してつぶやくだけ。Twitterへのポストに必要なToken類は予め収得しておきます。

 

qiita.com

 この記事を参考に保存しておいた文章を呟きます。

 短い時間で同じ文章を呟くとエラーとなるのは、twitterの仕様。自分の書いたコードのエラーとの切り分けが必要なのでエラーメッセージを出すようにしていた方がいいかも・・・。

import random
import tweepy

n_post = 2

url = "https://api.twitter.com/1.1/statuses/update.json"

tweet_data = open("malkov_sentences.txt", 'r')
list_text = tweet_data.readlines()
list_text_sampled = random.sample(list_text, n_post)

def post_tweet(text):
try:
# put your keys
CONSUMER_KEY =
CONSUMER_SECRET =

ACCESS_TOKEN = 

ACCESS_TOKEN_SECRET =

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
api = tweepy.API(auth)
api.update_status(status = text)
except tweepy.TweepError as e:
print(e.reason)


if __name__ == '__main__':
post_tweet('自動生成つぶやきのテストします。')

for tweet in list_text_sampled:
tweet_message = tweet.rstrip("\n") + "(自動生成)"
print(tweet_message)
post_tweet(tweet_message)

  これで、呟きまで完成!