Help us understand the problem. What is going on with this article?

Tweepyで自分のツイートを大量に取得する

More than 1 year has passed since last update.

ここでは Python のライブラリである Tweepy を使って大量に自分のツイートを集める方法を記していきます。

前提

  • Python3系を使います(Python2系の人は頑張ってね)
  • Tweepyはインストール済みである前提で話します。
  • TwitterAPI登録は既に登録済みである

コード

Tweet_data.py
# -*- coding: utf-8 -*-

import tweepy

# Tweepyの設定
CONSUMER_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
CONSUMER_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
ACCESS_TOKEN = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
ACCESS_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth)

i = 1
with open("Tweet_data.txt", "a+") as tf:
    for status in tweepy.Cursor(api.user_timeline).items():
        try:
            status = str(status.text).replace("\n","")    # ツイート内の改行を削除
            if "RT" in status:  # RTは書き込まない
                pass
            elif "https" in status: # 画像つきとURL付きツイートを書き込まない
                pass
            elif "@" in status: # リプの場合はIDを取り除いて書き込む
                status = status[status.find(" ")+1:len(status)] # "@"から" "インデックスを取得してそれ以降の部分のみ取得
                tf.write(status+"\n")
                print("Step%d: "%(i) +status)   # txtファイルに書き込まれたツイートを表示
                i += 1
            else:
                tf.write(status+"\n")
                print("Step%d: "%(i) +status)   # txtファイルに書き込まれたツイートを表示
                i += 1
        except UnicodeEncodeError: # 実行していると突然UnicodeEncodeErrorが出るが続ける
            pass

このコードを実行すると最初のツイートまで永遠に txtファイルに書き込み続けるのでツイートが十分に集まったら ctrl+c で適当に中断してもらえれば txtファイルに保存されています。

作られたtxtファイル

自分のツイートを大量に確保することに成功した
言語モデルネットワークを知りたい
えろ
所詮はマスゴミ
どれくらいツイートデータ集めようかな
多分これでUnicodeError出てもいける
お大事にね…何か違和感あったら病院行って見てもらい
買うべき
洗ったなら多少はマシか
ソースは俺のばあちゃん
まぁ多分腫れてしばらく痛いだけで済むけど割りときつい
これが野良犬なら死んでた
消毒しないと死ぬはないけど腫れますよ…
え…!?!?!?消毒してないん!?!?!?!?
なら良かったです
大丈夫ですか…
UnicodeEncodeError: 'cp932' codec can't encode character '\U0001f4a2' in position 28: illegal multibyte sequence
めっっっっっちゃ心配…
大丈夫と言われても心配なものは心配
ほんと心配
心配
ほんまに大丈夫か
いやいややばいやん
変数.find[x:y]でいけそう
空白文字以降だけを取り出したい
たとえば@JUN_NETWORKS これリプなっていうのがあった際にこれをこれリプなみたいな感じでID部分だけ消して本文だけ取り出したいんよ
@から空白文字までだけを文字列から削除する方法ないかな
かなり上手いこといったけどこんどはリプのIDが付いてきたからそれ消さないと
全然大丈夫じゃなさそう
大丈夫…?
北れ犬に噛まれすぎやろ…

とまぁこんな感じのファイルが出来ます。

わからないことがあればコメント、もしくは私のTwitterにリプを送ってもらえれば答えます。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away