• パイソン

PythonとGoogle Search APIを使ったランクトラッカーの作り方

  • Felix Rose-Collins
  • 6 min read

イントロ

キーワード・トラッキングの重要性を考慮しても、グーグルのToS(利用規約)はSERP(検索エンジン結果ページ)のスクレイピングを禁じている。

CAPTCHAやIPブロックのようなGoogleのスクレイピング対策は、プロキシを回転させるコストを含め、CAPTCHA解決サービスのコストを押し上げる。このため、ウェブスクレイピングによるSEO監視プロセス全体が、さらにフラストレーションのたまるものとなっている。

もしあなたがこのような状況に陥っていたり、キーワードのランキングを追跡するための正確で合法的なGoogle検索データの取得に苦労しているのであれば、ここに合法的で信頼できる代替手段がある。PythonとGoogle Search APIを使ってランキングトラッカーを構築する方法を探ってみよう。

PythonとGoogle Search APIを使ったランクトラッカーの構築

PythonとGoogle Search APIを使ってランクトラッカーを構築するには、Pythonプログラミング、APIハンドリング、データベース管理、データ分析のスキルが必要です。

このガイドでは、グローバルキーワード追跡のためのランクトラッカーの構築に焦点を当てていることに注意してください。ローカルで高度なキーワードトラッキングを行うには、Pythonスクリプトを ランクトラッカーAPIと統合すると便利です。

それでは、PythonとGoogle Search APIを使ってランク・トラッカーを構築するプロセスを掘り下げてみよう。

1. Pythonプログラミング環境と要件の設定

キーワードランキングを追跡するPythonスクリプトを書く前に、公式ウェブサイトから最新バージョンのPythonをインストールする必要があります。インストール手順は、お使いのオペレーティング・システムによって異なります。

インストールが完了したら、コマンドラインまたはターミナルでインストールを確認する。次に、好みのIDEやコードエディタをインストールする。IDEの中では、ほとんどのPythonスクリプト拡張をサポートし、軽量なVS codeが最もおすすめです。

Ranktrackerの紹介

効果的なSEOのためのオールインワン・プラットフォーム

ビジネスが成功する背景には、強力なSEOキャンペーンがあります。しかし、数え切れないほどの最適化ツールやテクニックがあるため、どこから手をつければいいのかわからないこともあります。でも、もう心配はありません。効果的なSEOのためのオールインワンプラットフォーム「Ranktracker」を紹介します。

Ranktrackerの登録がついに無料になりました。

無料アカウント作成

または認証情報を使ってサインインする

次に、開発する各プロジェクトの依存関係を分離し、潜在的な競合を防ぐために仮想環境をインストールする。そして最後に、必要なPythonライブラリとツールをインストールする。

Pythonのライブラリやツールのうち、Google Search APIへのAPIコールを行うにはRequestsライブラリ、APIのレスポンスを処理するには_JSON _、クエリのタイムスタンプを付けるにはDatetime、ランキングデータと履歴を保存するにはSQlite、視覚化にはPlotlyかMatplotlibが必要だ。

2. Google Search APIを設定する

Pythonプログラミング環境のセットアップとテストが終わったら、Google Programmable Search Engineのページに行き、新しい検索エンジンまたはカスタム検索エンジンを作成します。

このチュートリアルでは、カスタム検索エンジンをウェブ全体で検索するように設定し(グローバル検索)、そのIDまたはCX値をコピーします。次に、Google Cloud Console にページを切り替え、カスタム検索 JSON API を有効にして API キーを取得します。

CX値とAPIキーを取得したら、その2つを設定ファイルに安全に保存します。セキュリティリスクを軽減するため、CX値やAPIキーのハードコーディングは常に避けてください。

3. 構造化されたPythonスクリプトを書く。

ここまでで、正しく設定されたプログラミング環境と、カスタムGoogle検索エンジンのID(とAPIキー)を手に入れたことになる。

ここでは、Pythonスクリプトをモジュール化された関数で構成し、キーワードの順位追跡プロセスをスムーズかつ自動化する方法を紹介する。

最初に、より良いナビゲーションと保守性のために、_config.py, tracker.py, database.db, requirements.txt _file を含むようにプロジェクトを構成します。

Ranktrackerの紹介

効果的なSEOのためのオールインワン・プラットフォーム

ビジネスが成功する背景には、強力なSEOキャンペーンがあります。しかし、数え切れないほどの最適化ツールやテクニックがあるため、どこから手をつければいいのかわからないこともあります。でも、もう心配はありません。効果的なSEOのためのオールインワンプラットフォーム「Ranktracker」を紹介します。

Ranktrackerの登録がついに無料になりました。

無料アカウント作成

または認証情報を使ってサインインする

保存されたランキング履歴を格納するdata/フォルダも忘れずに。これらのファイルとフォルダを配置したら、ファイルからの読み込み、ファイルへの書き込み、ファイルの変更を行うために以下の関数を記述する:

a) Google Search APIに問い合わせる機能

この関数は入力としてキーワードを受け取り、config.pyファイルからCX値とAPIキーを使用してAPIリクエストURLを作成します。そしてGoogle Search APIにリクエストを送信し、Google Search APIはJSONレスポンスを返します。

最後に、この関数はJSONレスポンスを解析し、最初の100ページのタイトル、URL、スニペット、ランキング順位を抽出する。

b)ランクデータを抽出して保存する機能

検索結果を解析した後、この機能は、返されたリストの中からあなたのウェブサイトのURLを見つけ、ランキングの位置を決定し、ランキングデータをSQliteに構造化された形式で保存します。

この関数は検索結果をループし、あなたのサイトのURLの位置を見つける。見つかれば、ランキングの位置を抽出して記録する。見つからなかった場合は、あなたのサイトは指定されたキーワードで100位以内にランクインしていないと見なします。

Ranktrackerの紹介

効果的なSEOのためのオールインワン・プラットフォーム

ビジネスが成功する背景には、強力なSEOキャンペーンがあります。しかし、数え切れないほどの最適化ツールやテクニックがあるため、どこから手をつければいいのかわからないこともあります。でも、もう心配はありません。効果的なSEOのためのオールインワンプラットフォーム「Ranktracker」を紹介します。

Ranktrackerの登録がついに無料になりました。

無料アカウント作成

または認証情報を使ってサインインする

検索されたキーワード、トラッキングのデータと時間、ランク付けされた順位、URLといったSQliteデータベースのフィールドにデータを構造化させることができます。

c)データを分析して可視化する機能

この関数は、一度データベースに入ると、保存されているランキングデータをデータベースから取り出し、分析し、Plotlyや Matplotlibのようなライブラリを使って 傾向を視覚化する。また、ランキングの低下や上昇を検出する統計モデルにデータを渡すこともでき、SEOの取り組みを監視するのに役立ちます。

1. Pythonランクトラッカーの自動化

スクリプトの機能をテストし、エラー処理を実装する。

例えば、スクリプトはタイムアウトを処理したり、失敗したリクエストを再試行でき るようにすべきである。また、データの消失を避けるために、失敗したリクエストのログを記録する。

特定のインターバル後にランキングを監視するには、cronのようなスケジューラを使ってトラッキングプロセス全体を自動化し、特定のインターバル(1日に何回、週に何回、月に何回)後にキーワードトラッキングを自動化する。順位が大幅に下がったときに警告を発するトリガーを設置する。

2. Python ランクトラッカーに高度な機能を追加する

最後に、基本的なランク・トラッカーの構築に慣れてきたら、次のような高度な機能を追加するオプションがあります:

  • デバイス別トラッキング:モバイルとデスクトップのランキングは異なります。そのため、Google Search APIでは、どちらのランキングも個別に追跡することができます。

  • 競合他社の追跡:あなたのウェブサイト以外に、競合のURLを追跡することができます。

  • ジオロケーションベースのランク追跡:特定の場所に絞り込み、特定の都市や国のユーザーの検索意図を反映した結果を取得することができます。

  • SERP機能の検出:自分のサイトのページが、画像検索結果やフィーチャードスニペット、その他のSERP機能に表示されるかどうかを知りたい場合、Google Search APIを使えば、このような特定が可能です。

高度な機能にもかかわらず、1日あたり約100の無料クエリがあることに注意してください。これを使い切った後は有料となる。また、検索結果は100件までしか引き出せない。そのため、ランク・トラッカーをサードパーティのランク・トラッカーAPIと組み合わせて機能を拡張することが不可欠なのだ。

まとめ!

これで完成だ!PythonとGoogle Search APIを使ってランクトラッカーを構築するために必要な5つのステップです。

Google Search APIでは、トラッキングは1日100検索結果、100クエリまでに制限されていることをお忘れなく。にもかかわらず、IP禁止やCAPTCHAをトリガーすることなく、効率的かつ合法的にキーワードランキングを追跡することができます。さらに、複数のアカウントにリクエストを分散させることができるため、1日に送信できるクエリの数を増やすことができます。

Felix Rose-Collins

Felix Rose-Collins

Ranktracker's CEO/CMO & Co-founder

Felix Rose-Collins is the Co-founder and CEO/CMO of Ranktracker. With over 15 years of SEO experience, he has single-handedly scaled the Ranktracker site to over 500,000 monthly visits, with 390,000 of these stemming from organic searches each month.

Ranktrackerを無料で使いましょう。

あなたのWebサイトのランキングを妨げている原因を突き止めます。

無料アカウント作成

または認証情報を使ってサインインする

Different views of Ranktracker app