認証はありません。 APIはありません。制限はありません。
Twint は Python で書かれた高度な Twitter スクレイピング ツールで、Twitter の API を使用せずにTwitter プロフィールからツイートをスクレイピングできます。
Twint は Twitter の検索演算子を利用して、特定のユーザーからのツイートをスクレイピングしたり、特定のトピック、ハッシュタグやトレンドに関連するツイートをスクレイピングしたり、ツイートから電子メールや電話番号などの機密情報を分類したりすることができます。これは非常に便利だと思いますし、これを使用すると非常に創造性を発揮することもできます。
また、Twint は Twitter に対して特別なクエリを実行するため、認証、API、Selenium、ブラウザ エミュレーションを使用せずに、Twitter ユーザーのフォロワー、ユーザーが「いいね!」したツイート、フォローしているユーザーをスクレイピングすることもできます。
Twint と Twitter API を使用する利点のいくつかは次のとおりです。
ほぼすべてのツイートを取得できます (Twitter API の制限は最後の 3200 ツイートのみです)。
素早い初期セットアップ。
匿名で、Twitter へのサインアップなしで使用できます。
レート制限はありません。
Twitter は、ユーザーのタイムラインを閲覧する際のスクロールを制限します。これは、 .Profile
または.Favorites
を使用すると、最大 3200 件のツイートを取得できることを意味します。
Python 3.6;
aiohttp;
いいえ。
美しいスープ4;
チャルデ。
データクラス
弾性検索;
パイソックス。
パンダ (>=0.23.0);
aiohttp_socks;
スケジュール;
ジオピー;
偽のユーザーエージェント;
py-googletransx。
ギット:
git clone -- Depth=1 https://github.com/twintproject/twint.gitcd Twint pip3 をインストールします。 -r 要件.txt
ピップ:
pip3 ツイントをインストールする
または
pip3 install --user --upgrade git+https://github.com/twintproject/twint.git@origin/master#egg=twint
ピペンブ:
Pipenv install git+https://github.com/twintproject/twint.git#egg=twint
追加: Dockerfile
多くの人が (私を含めて) インストールで問題を抱えていることに気付きました。調査する間、一時的に Dockerfile を使用してください。
基本を理解するのに役立ついくつかの簡単な例:
twint -u username
-ユーザーのすべてのツイートをスクレイピングします (リツイートは含まれませんが、返信は含まれます)。
twint -u username -s pineapple
-パイナップルを含むユーザーのタイムラインからすべてのツイートをスクレイピングします。
twint -s pineapple
- みんなのツイートからパイナップルを含むすべてのツイートを収集します。
twint -u username --year 2014
- 2014 年より前にツイートされたツイートを収集します。
twint -u username --since "2015-12-20 20:30:15"
- 2015-12-20 20:30:15 以降にツイートされたツイートを収集します。
twint -u username --since 2015-12-20
- 2015-12-20 00:00:00 以降にツイートされたツイートを収集します。
twint -u username -o file.txt
- ツイートをスクレイピングして file.txt に保存します。
twint -u username -o file.csv --csv
- ツイートをスクレイピングし、csv ファイルとして保存します。
twint -u username --email --phone
- 電話番号またはメール アドレスが含まれる可能性のあるツイートを表示します。
twint -s "Donald Trump" --verified
- ドナルド トランプについてツイートした認証済みユーザーによるツイートを表示します。
twint -g="48.880048,2.385939,1km" -o file.csv --csv
- パリのある場所の半径 1km の範囲からツイートを収集し、csv ファイルにエクスポートします。
twint -u username -es localhost:9200
- Elasticsearch へのツイートの出力
twint -u username -o file.json --json
- ツイートをスクレイピングし、json ファイルとして保存します。
twint -u username --database tweets.db
- ツイートを SQLite データベースに保存します。
twint -u username --followers
- Twitter ユーザーのフォロワーをスクレイピングします。
twint -u username --following
- Twitter ユーザーがフォローしているユーザーをスクレイピングします。
twint -u username --favorites
- ユーザーがお気に入りに登録したすべてのツイートを収集します (最大 3200 件のツイートが集まります)。
twint -u username --following --user-full
- ユーザーがフォローしている完全なユーザー情報を収集します
twint -u username --timeline
- 効果的な方法を使用してユーザーのプロフィールからツイートを収集します (リツイートと返信を含め、最大 3200 件のツイートを収集します)。
twint -u username --retweets
- 簡単な方法を使用して、ユーザーのプロフィールから最新の 900 件のツイート (リツイートを含む) を収集します。
twint -u username --resume resume_file.txt
- 最後に保存されたスクロール ID から検索を再開します。
コマンドとオプションの詳細については、Wiki を参照してください。
Twint をモジュールとして使用できるようになり、カスタム形式をサポートするようになりました。詳細は wiki にあります
import Twint# Configurec = Twint.Config()c.Username = "realDonaldTrump"c.Search = "great"# Runtwint.run.Search(c)
出力
955511208597184512 2018-01-22 18:43:19 GMT <now> pineapples are the best fruit
import Twintc = Twint.Config()c.Username = "noneprivacy"c.Custom["tweet"] = ["id"]c.Custom["user"] = ["bio"]c.Limit = 10c.Store_csv = Truec.Output = "なし"twint.run.Search(c)
ファイルに書き込みます。
CSV;
JSON;
SQLite;
エラスティックサーチ。
Twint を使用した Elasticsearch のセットアップの詳細については、wiki を参照してください。
グラフの詳細は wiki にもあります。
Twint デスクトップ アプリを開発しています。
ユーザーからのツイートをスクレイピングしようとしましたが、存在することはわかっていますが、取得できません
Twitter はアカウントをシャドウバンすることができます。これは、そのツイートが検索で利用できなくなることを意味します。これを解決するには、CLI 経由で Twint を使用している場合は--profile-full
渡し、モジュールとして Twint を使用している場合はconfig.Profile_full = True
を追加します。このプロセスはかなり時間がかかることに注意してください。
フォロワーユーザー名/フォローユーザー名のみを取得するには
twint -u username --followers
twint -u username --following
フォロワー/フォローしているユーザーのユーザー情報を取得するには
twint -u username --followers --user-full
twint -u username --following --user-full
ユーザーのユーザー情報のみを取得するには
twint -u username --user-full
ユーザーリストからユーザーのユーザー情報を取得するには
twint --userlist inputlist --user-full
100 個の英語のツイートを取得してイタリア語に翻訳するには
twint -u noneprivacy --csv --output none.csv --lang en --translate --translate-dest it --limit 100
または
import Twintc = Twint.Config()c.Username = "noneprivacy"c.Limit = 100c.Store_csv = Truec.Output = "none.csv"c.Lang = "en"c.Translate = Truec.TranslateDest = "it" Twint.run.Search(c)
注:
Google翻訳にはいくつかの割り当てがあります
Twint を OSINT ツールとして使用する方法
Null Byte が作成した基本的なチュートリアル
Spark、Optimus、Twint を使用して NLP で数分でツイートを分析
Kafka と Neo4j へのツイートの読み込み
ご質問がある場合、ディスカッションに参加したい場合、または追加のサポートが必要な場合は、OSINT チームの Twint に特化したチャンネルにご参加ください。