質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.61%

Twitterのクローリング,スクレイピングについて

解決済

回答 4

投稿 編集

  • 評価
  • クリップ 2
  • VIEW 3,202

score 836

Twitterの利用規約 (2019年12月2日時点)

Twitterの利用規約の解釈について知りたいです.答えではなく特に皆さんの意見をお聞きしたいです.以下,Twitterの利用規約4-(iii)の抜粋

Twitterから提供される(かつ該当する利用条件に従う場合にのみ提供される)、当社の現在利用可能な公開インターフェース以外の方法(自動プログラムか否かを問わない)で、本サービスへのアクセスもしくはその探索またはアクセスもしくは探索の試み(ただし、Twitterとの個別契約で特に許可されている場合は除く)(注:本サービスへのクローリングは、robots.txtファイルの定めによる場合は認められていますが、Twitterによる事前の同意がないまま本サービスのスクレイピングをすることは明示的に禁止されています)、

ここにおけるクローリングとスクレイピングについて,下記に示す例は規約違反になるかどうかを知りたいです.
私のクローリングとスクレイピングの理解はこのstackoverflowの記事 の2番目の回答と同じです.また,twitterのrobots.txtにも目を通しています.

これらは違反になるのか? 可能なら理由を添えて答えていただけると嬉しいです.

  1. ウェブブラウザでhttps://twitter.com/誰かのアカウント?lang=jaにアクセスする.

  2. ウェブブラウザでhttps://twitter.com/誰かのアカウント?lang=jaにアクセスした後,ページを保存する(Chromeの場合,Ctrl-S).

  3. Terminalから手動でcurl https://twitter.com/誰かのアカウント?lang=jaを実行する.

  4. Terminalから手動でcurl https://twitter.com/誰かのアカウント?lang=ja > out.txtを実行し,htmlをテキストファイルに保存する.

  5. curl https://twitter.com/誰かのアカウント?lang=ja >> out.txt をcronなどで(1秒以上間隔を開けて)定期的に実行する.

  6. Pythonのライブラリのrequestsからhttps://twitter.com/誰かのアカウント?lang=jaに定期的にHTTP GETリクエストを送り,得られたhtmlをデータベースに保存する.

  7. Pythonのライブラリのseleniumからhttps://twitter.com/誰かのアカウント?lang=jaに定期的にHTTP GETリクエストを送り,得られたhtmlをデータベースに保存する.

  8. 6, 7のプログラム終了した後,データベースに保存したhtmlからYoutubeリンクのURLだけを抜きとり,その文字列を別のデータベースに保存する.

  9. 6, 7のプログラムを実行しながら,データベースに保存したhtmlからYoutubeリンクのURLだけを抜きとり,その文字列を別のデータベースに保存する.

  10. Pythonのライブラリのrequestsからhttps://twitter.com/誰かのアカウント?lang=jaに定期的にHTTP GETリクエストを送り,得られたhtmlからYoutubeリンクのURLだけを抜きとり,その文字列をデータベースに保存する.

  11. Pythonのライブラリのseleniumからhttps://twitter.com/誰かのアカウント?lang=jaに定期的にHTTP GETリクエストを送り,得られたhtmlからYoutubeリンクのURLだけを抜きとり,その文字列をデータベースに保存する.

おわりに

雑多な質問で恐縮ですが,お答えいただけると幸いです.
ちなみに,上記の1.以外はいずれもまだ実行していません.
私は全てやっても大丈夫だと思います.
退会済みユーザ様の回答にもあるとおり,やはり規約的にスクレイピングは厳しそうですね.
とりあえず,1. は問題ないでしょう.2.はブラウザの機能を使うのでおそらく問題ないのではと思います.その他は一見ダメそうですが,Twitterが想定している方法がブラウザからのアクセスだとすると,seleniumからのアクセスはどうなるのでしょうか?

  • 私は法律や規約に関しては詳しくないので,ここで質問させていただきました.回答の根拠となるソースを教えていただけましたら,この上なくありがたいですが,お気軽に回答してください.
  • Twitter APIを使えという回答はごもっともですのでご遠慮ください.
  • 一部に対してだけでも良いのでご回答いただけると嬉しいです.
  • Twitterに確認するのが最も適切な解決方法であることは重々承知しておりますが,Twitterの問い合わせフォームを一読したところ,私の質問に対応したものがないと思ったので,こちらで質問させていただきました.もし,適切な確認先(具体的な質問フォーム,メールアドレスなどの連絡先)をご存知でしたらご教授いただきたいです.
  • 申し訳ありません.公式フォーラムが適切な問い合わせ先でした.こちらに問い合わせてみますが,有識な皆様のご意見をお聞きしたいので,公式からの返答がない間は未解決としておきます.
  • 無論やらないに越したことはありません.
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • dark-eater-kei

    2019/12/02 17:10

    >> te2ji
    すみません,確認不足でした.
    法律系のQ&Aサイトの方の質問は削除しておきます.

    キャンセル

  • te2ji

    2019/12/02 17:13

    個人的にはそっちをメインにしたほうが良いと思うけど。
    ちょっと回答書きますね。

    キャンセル

  • dark-eater-kei

    2019/12/02 17:28

    まぁ弁護士系のQ&Aサイトは回答率が非常に低そうなので.
    私個人としては,はっきり言って厳密な回答よりもエンジニアの皆様の意見を聞きたかったのです.
    仰るとおりこの投稿は不適切だと思うので,削除されてもしょうがないと思っています...

    キャンセル

回答 4

+6

利用規約の具体的な解釈に関しては、サービスの責任主体の正規回答を求めるのがプログラマーとしては正しいです。

https://help.twitter.com/ja/contact-us

上記にあるように
@TwitterSupport へ問い合わせることが可能です。

私は法律や規約に関しては詳しくないので,ここで質問させていただきました.

これがここへの問い合わせ理由なのであれば、問い合わせ先を間違えてます。
法律や規約に関して責任のある回答ができる法律家へ問い合わせることが適切です。

個人的には気になる話題でもあるので、正規の回答がもらえ、かつ開示許可が出るのであれば、自己回答として閉じてもらえると嬉しいです。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/12/02 18:06

    ご回答ありがとうございます.
    @TwitterSupport
    にとりあえず送ってみました.

    https://twittercommunity.com/
    よく探したらここが公式のQ&Aで良さそうでした.無知でした...

    キャンセル

  • 2019/12/07 17:34

    「退会済みユーザ」さんへコメントされていますが、私の個人的な興味も、「自動操作されたブラウザは想定されるインターフェイスなのか?」って点です。
    自身で必要に迫られた場合は、エビデンスも残したいので多分直接問い合わせますが、現時点での公式見解が知れるのであればそれはそれで嬉しいです。
    他の大手サイトの方向性とも合致するでしょうし、興味深いですよね。

    キャンセル

+1

普通に上の引用箇所で、事前の許可なく自動・手動問わず運営が想定していない方法で
サービスを利用しようとする行為(「試み」も禁止)が禁止されていると思います。

アクセス自体が禁止されているので、事前に許可を得ない限り上に書いてある行為は
ルール的に不可能だと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/12/07 03:18

    ご回答誠にありがとうございます.
    なるほど.解りやすい説明で,おおよそ同意です.
    退会済みユーザーの回答に対して返答するのは野暮で,重箱の隅を突くようですが,2点ほど
    - 上に書いてある行為のうち,1. はおそらくTwitterが想定している方法なので実行しても問題ないかと...
    - 運営が想定している方法がブラウザからのアクセスだと仮定すると,`selenium`からのスクレイピングはどうなるのでしょうか.
    無論やらないほうが良いのは承知の上ですが...

    キャンセル

+1

User-agent: *
Disallow: /

https://syndication.twitter.com/robots.txt

robot.txtによるとサイト全体に対してクロールが拒否されていますので、5~11は禁止されていると思います。
手動でやるような1~4は許可されてると思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/12/07 18:08

    その記述は`https://twitter.com/`に対しては無効では?
    `https://twitter.com/robots.txt`を読む必要があるかと。結構許可してますw

    キャンセル

  • 2019/12/07 18:24

    ちょっと勘違いしてました。ごめんなさい。

    キャンセル

check解決した方法

0

Twitterからの回答は得られませんでした.
APIを使いましょう.

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.61%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る