GetOldTweets-python １週間以上前の過去ツイートを取得しちゃう#2

#Inrtoduction
はにおかさいです。

ツイッターで過去ツイートを分析したいと思ったのですが、過去のツイートを取得するすべをなかなか思いつきませんでした。日本語でググっても意図したものは発見せず。

そこで、Githubで検索してみました。すると

<a href=https://github.com/olivierthereaux/oldtweets>oldtweets</a>

<a href=https://github.com/Jefferson-Henrique/GetOldTweets-python>GetOldTweets-python</a>

この二つを発見しました。
今回はこのうち２つの目のGetOldTweets-pythonを紹介します。

#パッケージ説明
>Tweet：特定のツイートについての情報を提供するモデルクラス（？）です。

>>id (str)
permalink (str)
username (str)
text (str)
date (date)
retweets (int)
favorites (int)
mentions (str)
hashtags (str)
geo (str)

>TweetManager: ツイートのモデルを取得する手助けをするマネージャー

>getTweets (TwitterCriteria): TwitterCriteriaのインスタンスを使用して取得したツイートのリストを返します。
TwitterCriteria: TweetManagerと一緒に使用する検索のオプション設定の集合。

>setUsername (str): @なしのアカウント名
setSince (str. "yyyy-mm-dd"): 検索日時指定（年ー月ー日　から）
setUntil (str. "yyyy-mm-dd"): 検索日時指定（年ー月ー日　まで）
setQuerySearch (str): 検索窓
setTopTweets (bool): Trueの場合は、トップツイートのみが取得されます。
setNear(str): ツイートされたエリアを指定する。
setWithin (str): ツイートされた周辺からどれぐらい離れているか(例 15mi(マイル）).
setMaxTweets (int):設定なしや1より低いと全ツイートを取得。でなければその数のツイートを取得。
Main: 使い方の例

>Exporter:  "output_got.csv"ファイルにツイートを出力.

#Setup
Python3と2があったので、Windows 10,Python 3.6.4で試しました。

```shell
git clone https://github.com/Jefferson-Henrique/GetOldTweets-python
cd GetOldTweets-python
#pip install -r requirements.txt ではなく
pip install lxml pyquery
```

#Test
playground.py というのをつくってみて、遊んでみます。

```py:playground.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import got3 as got
# ユーザー名でツイートを取得
tweetCriteria = got.manager.TweetCriteria().setUsername('chart_suken').setMaxTweets(1)
tweet = got.manager.TweetManager.getTweets(tweetCriteria)[0]

print(tweet.text)

# 検索でツイートを取得
tweetCriteria = got.manager.TweetCriteria().setQuerySearch('埼玉県').setSince("2015-05-01").setUntil(
    "2015-09-30").setMaxTweets(1)
tweet = got.manager.TweetManager.getTweets(tweetCriteria)[0]

print(tweet.text)

# ユーザー名、ツイートで取得
tweetCriteria = got.manager.TweetCriteria().setUsername("haniokasai").setSince("2017-09-10").setUntil(
    "2017-09-12").setMaxTweets(1)
tweet = got.manager.TweetManager.getTweets(tweetCriteria)[0]

print(tweet.text)

# 最近の15ツイートを取得
tweetCriteria = got.manager.TweetCriteria().setUsername("Fujiwaraizuho").setMaxTweets(21000)
tweet = got.manager.TweetManager.getTweets(tweetCriteria)
print(tweet)
for v in tweet:
    print(v.text)

# 最近の15ツイートを取得
tweetCriteria = got.manager.TweetCriteria().setUsername("zenypota").setTopTweets(True).setMaxTweets(5)
tweet = got.manager.TweetManager.getTweets(tweetCriteria)
print(tweet)
for v in tweet:
    print(v.text)

```

#Result

```shell_session

C:\Users\hani>Z:\appdir\py\364\python.exe Z:/workdir/GetOldTweets-python/playground.py
【朗報】 青チャートが動画で解説されてて分かりすぎる件 「全例題」解説動画つきだから、どんどん理解 これで宿題が、捗るネ ▼まずはアプリをダウンロード▼ AppStore⇒ https://appsto.re/jp/zZZiab.i GooglePlay⇒ https://play.google.com/store/apps/details?id=jp.co.suken.libraryapp …pic.twitter.com/ph6ZakvxM6
I'm at ジョナサン 入間店 in 入間市, 埼玉県 https://www.swarmapp.com/c/2IWzmsltQPb
pe用ですからだめです
[]
[<got3.models.Tweet.Tweet object at 0x05DBE5B0>, <got3.models.Tweet.Tweet object at 0x05DBE5D0>, <got3.models.Tweet.Tweet object at 0x05DBE570>, <got3.models.Tweet.Tweet object at 0x051E49B0>, <got3.models.Tweet.Tweet object at 0x05A3DE70>]
[メンテナンス] ・詳細 サービス開始お知らせメール登録の停止 ・期間 今日～未定 ご迷惑をおかけしますがご協力をおねがいいた します。
ありがとうございます！ 非常に支えになります！
@ 9werty60y からの寄付がありさらに賞金上乗せです！ 1200ZNY ＋ 2mona ＋ 10ZNYとなりす！ ありがとうございます！https://twitter.com/zenypota/status/974215515819319296 …
開発者のraspi0124さんがポケットマネーから追加で資金提供をしてくださり、賞金は1200ZNY ＋ 2mona となりました！ありがとうございます！https://twitter.com/raspi0124/status/974219437384589312 …
1200 ZNY prize money was attached to this recruitment!

C:\Users\hani>
```

![image.png](https://qiita-image-store.s3.amazonaws.com/0/245977/7b0e2743-7c5b-1854-2975-c8df4a44970f.png)
3000ツイートは余裕で取得できますね。待たされますけど。

私のしたかったことはこれです。前回の記事は忘れてください。

#Query
![image.png](https://qiita-image-store.s3.amazonaws.com/0/245977/185fc7ab-ae6b-1f5c-9264-e60a97394e32.png)
Fujiwaraizuho くんのツイートのみがnullになります。配列が埋まってないし、無論何も取得されてない。エラーもないので原因がわからない。研究のメインテーマに使えない予感。
#P.S. 

2018/6/30 特定の人物(不快な画像の設定云々をしてる人？）に対して使えないことがあり、それは解決されないっぽいです。issue参照。 https://github.com/Jefferson-Henrique/GetOldTweets-python/issues/172