開発者ドキュメント

Python3を使用してWebページをスクレイプしてコンテンツをTwitterに投稿する方法

著者は、 Write for DOnations プログラムの一環として、コンピューター歴史博物館を選択して寄付を受け取りました。

序章

Twitter ボットは、ソーシャルメディアを管理するだけでなく、マイクロブログネットワークから情報を抽出するための強力な方法です。 Twitterの用途の広いAPIを活用することで、ボットはツイート、リツイート、「お気に入りのツイート」、特定の関心を持つ人々のフォロー、自動的な返信など、さまざまなことを実行できます。 人々はボットの力を悪用する可能性があり、実際に悪用し、他のユーザーにネガティブな体験をもたらしますが、調査によると、人々はTwitterボットを信頼できる情報源と見なしています。 たとえば、ボットを使用すると、オンラインでない場合でもフォロワーをコンテンツに引き付けることができます。 @EarthquakesSF のように、重要で役立つ情報を提供するボットもあります。 ボットのアプリケーションは無限です。 2019年の時点で、ボットはTwitterのすべてのツイートの約 24% oを占めていると推定されています。

このチュートリアルでは、Python用のこのTwitterAPIライブラリを使用してTwitterボットを構築します。 TwitterアカウントのAPIキーを使用してボットを認証し、2つのWebサイトからコンテンツをスクレイピングできるように構築します。 さらに、ボットをプログラムして、これら2つのWebサイトのコンテンツを設定された時間間隔で交互にツイートします。 このチュートリアルではPython3を使用することに注意してください。

前提条件

このチュートリアルを完了するには、次のものが必要です。

注: Twitterで開発者アカウントを設定します。これには、このボットに必要なAPIキーにアクセスする前にTwitterによるアプリケーションレビューが含まれます。 ステップ1では、申請を完了するための具体的な詳細について説明します。

ステップ1—開発者アカウントを設定してTwitterAPIキーにアクセスする

ボットのコーディングを開始する前に、Twitterがボットのリクエストを認識するためのAPIキーが必要です。 このステップでは、Twitter開発者アカウントを設定し、TwitterボットのAPIキーにアクセスします。

APIキーを取得するには、developer.twitter.com にアクセスし、ページの右上のセクションにあるApplyをクリックしてボットアプリケーションをTwitterに登録します。

次に、開発者アカウントの申請をクリックします。

次に、続行をクリックして、Twitterユーザー名をこのチュートリアルで作成するボットアプリケーションに関連付けます。

次のページでは、このチュートリアルの目的で、私自身の個人的な使用のためのアクセスを要求しているオプションを選択します。これは、あなた自身の個人的な教育用のボットを構築するためです。

アカウント名を選択したら、次のセクションに進みます。 どのユースケースに関心がありますか?ツイートの公開とキュレーションおよび学生プロジェクト/コーディングの学習オプションを選択してください。 これらのカテゴリは、このチュートリアルを完了する理由を最もよく表しています。

次に、構築しようとしているボットの説明を入力します。 Twitterでは、ボットの悪用から保護するためにこれが必要です。 2018年に彼らはそのような審査を導入しました。 このチュートリアルでは、 The NewStackおよびCourseraBlogから技術に焦点を当てたコンテンツをスクレイピングします。

description ボックスに何を入力するかを決定するときは、このチュートリアルの目的のために、次の行で回答をモデル化してください。

thenewstack.io (The New Stack)や blog.coursera.org (Courseraのブログ)などのWebサイトからコンテンツを取得してツイートするTwitterボットを作成するためのチュートリアルに従っています。それらからの引用。 スクレイピングされたコンテンツは集約され、Pythonジェネレーター関数を介してラウンドロビン方式でツイートされます。

最後に、 no を選択します。製品、サービス、または分析により、Twitterコンテンツまたは派生情報を政府機関が利用できるようになりますか?

次に、Twitterの利用規約に同意し、 [申し込みを送信]をクリックして、メールアドレスを確認します。 このフォームを送信すると、Twitterから確認メールが送信されます。

メールアドレスを確認すると、審査中の申し込みページに、申し込みプロセスのフィードバックフォームが表示されます。

また、レビューに関してTwitterから別のメールが届きます。

Twitterのアプリケーションレビュープロセスのタイムラインは大幅に異なる可能性がありますが、多くの場合、Twitterは数分以内にこれを確認します。 ただし、アプリケーションのレビューにこれよりも時間がかかる場合は、珍しいことではなく、1〜2日以内に受け取る必要があります。 確認を受け取ると、Twitterはキーの生成を許可します。 developer.twitter.com/appsでアプリの詳細ボタンをクリックすると、キーとトークンタブからこれらにアクセスできます。

最後に、アプリのページのアクセス許可タブに移動し、ツイートコンテンツも書き込みたいので、アクセスアクセス許可オプションを読み取りと書き込みに設定します。 通常、傾向の分析やデータマイニングなどの調査目的で読み取り専用モードを使用します。 最後のオプションでは、チャットボットはダイレクトメッセージにアクセスする必要があるため、ユーザーはチャットボットを既存のアプリに統合できます。

Twitterの強力なAPIにアクセスできます。これは、ボットアプリケーションの重要な部分になります。 次に、環境をセットアップし、ボットの構築を開始します。

ステップ2—Essentialsを構築する

このステップでは、APIキーを使用してTwitterでボットを認証するコードを記述し、Twitterハンドルを介して最初のプログラムによるツイートを作成します。 これは、 The NewStackCourseraBlog からコンテンツを取得し、定期的にツイートするTwitterボットを構築するという目標に向けた良いマイルストーンとして役立ちます。

まず、プロジェクトフォルダとプロジェクト用の特定のプログラミング環境を設定します。

プロジェクトフォルダを作成します。

  1. mkdir bird

プロジェクトフォルダに移動します。

  1. cd bird

次に、プロジェクト用の新しいPython仮想環境を作成します。

  1. python3 -m venv bird-env

次に、次のコマンドを使用して環境をアクティブ化します。

  1. source bird-env/bin/activate

これにより、ターミナルウィンドウのプロンプトに(bird-env)プレフィックスが付加されます。

次に、テキストエディタに移動して、credentials.pyというファイルを作成します。このファイルには、TwitterAPIキーが保存されます。

  1. nano credentials.py

次のコンテンツを追加し、強調表示されたコードをTwitterのキーに置き換えます。

bird / credentials.py

ACCESS_TOKEN='your-access-token'
ACCESS_SECRET='your-access-secret'
CONSUMER_KEY='your-consumer-key'
CONSUMER_SECRET='your-consumer-secret'

次に、Twitterにリクエストを送信するためのメインAPIライブラリをインストールします。 このプロジェクトでは、次のライブラリが必要です:nltkrequeststwitterlxmlrandom、および[X117X ]

モバイルバージョンを終了