Google は企業や研究者向けに膨大な量のデータを保有しています。毎日 85 億件以上の検索を実行し、世界の検索エンジン市場の 91% のシェアを占めています。
ChatGPT のデビュー以来、Google データはランク追跡、競合他社の監視、リード生成などの従来の目的だけでなく、高度な LLM モデルの開発、AI モデルのトレーニング、自然言語処理の機能強化にも利用されてきました ( NLP) モデル。
しかし、Google をスクレイピングするのは誰にとっても簡単ではありません。大規模にスクレイピングするには、専門家のチームと堅牢なインフラストラクチャが必要です。
この記事では、Python と BeautifulSoup を使用して Google 検索結果をスクレイピングする方法を学びます。これにより、Google のデータを大規模に活用できる独自のツールやモデルを構築できるようになります。
始めましょう!
Google 検索結果は、検索バーに入力されたユーザー クエリに基づいて Google に表示されるリストです。 Google は、NLP を多用してこれらのクエリを理解し、関連する結果をユーザーに表示します。これらの結果には、最新の AI の概要、「人々も尋ねる」セクション、関連検索、ナレッジ グラフなどのオーガニック検索結果に加えて、注目のスニペットが含まれることがよくあります。これらの要素は、クエリに基づいて要約された関連情報をユーザーに提供します。
Google 検索データにはさまざまな用途があります:
Python は、他の言語では困難であったり、成功率が低かったりする Web サイトをスクレイピングするための強力な HTTP ハンドシェイク構成を提供する、多用途で堅牢な言語です。 Web スクレイピング データでトレーニングされた AI モデルの人気が高まるにつれ、開発者コミュニティ内で Web スクレイピングのトピックにおける Python の関連性が高まり続けています。
さらに、Web スクレイピング スキルとして Python を学ぼうとしている初心者でも、そのシンプルな構文とコードの明瞭さにより、Python を簡単に理解できます。さらに、Discord、Reddit などのプラットフォームで大規模なコミュニティ サポートがあり、直面しているあらゆるレベルの問題に役立ちます。
このスケーラブルな言語は、Web スクレイピングのパフォーマンスに優れ、Scrapy、Requests、BeautifulSoup などの強力なフレームワークを提供するため、他の言語と比較して Google やその他の Web サイトのスクレイピングに優れた選択肢となります。
このセクションでは、最初の 10 件の Google 検索結果を取得するための基本的な Python スクリプトの作成方法を説明します。
このチュートリアルに従うには、次のライブラリをインストールする必要があります:
リクエスト — Google 検索 URL から HTML データを取得します。
BeautifulSoup — HTML データを構造化フォーマットに調整します。
セットアップは簡単です。 Python ファイルを作成し、必要なライブラリをインストールして開始します。
プロジェクト フォルダーで次のコマンドを実行します:
touch scraper.py
次に、ライブラリをインストールします。
pip install requests pip install beautifulsoup4
セットアップが完了し、先に進むための準備がすべて整いました。 Python の Requests ライブラリを使用して生の HTML を抽出し、BeautifulSoup を使用してそれを洗練して必要な情報を取得します。
しかし、ここでいう「必要な情報」とは何でしょうか?
フィルタリングされたデータには次の情報が含まれます:
最初にインストールしたライブラリをscraper.pyファイルにインポートしましょう。
from bs4 import BeautifulSoup import requests
次に、ターゲット URL で GET リクエストを実行し、Google から生の HTML データを取得します。
headers={'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.361681276786'} url='https://www.google.com/search?q=python+tutorials&gl=us' response = requests.get(url,headers=headers) print(response.status_code)
ヘッダーを渡すことは、スクレイパーを、情報を求めて Google 検索ページにアクセスしているだけの自然なユーザーのように見せるために重要です。
上記のコードは、Google 検索リンクから HTML データを取得するのに役立ちます。ステータス コード 200 を取得した場合は、リクエストが成功したことを意味します。これで、Google 用のスクレイパー作成の最初の部分が完了しました。
次のパートでは、BeautifulSoup を使用して HTML から必要なデータを取得します。
soup = BeautifulSoup(response.text, ‘html.parser’)
これにより、HTML 応答を解析するための BS4 オブジェクトが作成され、HTML 内を簡単に移動して、選択した要素とその中のコンテンツを見つけることができます。
この HTML を解析するには、まず Google 検索ページを調べて、検索結果の DOM の場所でどのような共通パターンが見つかるかを確認する必要があります。
検査した結果、すべての検索結果はクラス g の div コンテナの下にあることがわかりました。つまり、g クラスを使用して各 div コンテナに対してループを実行して、コンテナ内の情報を取得するだけです。
コードを記述する前に、HTML からタイトル、説明、リンクの DOM の場所を見つけます。
タイトルを調べると、h3 タグ内に含まれていることがわかります。この画像から、リンクがアンカー タグの href 属性に配置されていることもわかります。
表示されたリンクまたは引用リンクは cite タグ内にあります。
最後に、説明は VwiC3b クラスの div コンテナ内に保存されます。
これらすべてのデータ エンティティを 1 つのコード ブロックにラップします:
touch scraper.py
オーガニック結果配列を宣言し、HTML 内の g クラスを使用してすべての要素をループし、収集したデータを配列内にプッシュしました。
このコードを実行すると、望ましい結果が得られ、ランク追跡、リード生成、Web サイトの SEO の最適化など、さまざまな目的に使用できます。
pip install requests pip install beautifulsoup4
これが、基本的な Google スクレイピング スクリプトの作成方法です。
ただし、落とし穴があります。 Google によって IP がブロックされる可能性があるため、この方法に完全に依存することはできません。検索結果を大規模に収集したい場合は、プレミアムおよび非プレミアム プロキシの広大なネットワークと、これを可能にする高度な技術が必要です。そこで SERP API が活躍します!
Google をスクレイピングするもう 1 つの方法は、専用の SERP API を使用することです。これらははるかに信頼性が高く、スクレイピングプロセスでブロックされることはありません。
このセクションの設定は同じですが、ApiForSeo に登録して、SERP API へのアクセスを提供する API キーを取得する必要があるだけです。
アカウントをアクティブ化すると、ダッシュボードにリダイレクトされ、そこで API キーを取得します。
ダッシュボード自体からコードをコピーすることもできます。
次に、ランダムなクエリで API リクエストを作成し、ApiForSeo SERP API を通じてデータを収集します。
from bs4 import BeautifulSoup import requests
他のクエリも試すことができます。 API キーをコードに忘れずに入力してください。そうしないと、404 エラーが発生します。
ターミナルでこのコードを実行すると、すぐに結果が得られます。
touch scraper.py
上記のデータには、タイトル、リンク、スニペット、説明、拡張サイトリンクなどの注目のスニペットなど、さまざまなポイントが含まれています。また、この API から、People also Ask For、ナレッジ グラフ、アンサー ボックスなどの高度な機能スニペットも取得できます。
ビジネスの性質は急速に進化しています。現在進行中のトレンドや競合他社に関するデータにアクセスできない場合、あらゆる段階でデータに基づいた戦略的意思決定を行う新興企業に後れを取るリスクがあります。したがって、企業にとって自社の環境で何が起こっているかを理解することは非常に重要であり、Google はこの目的に最適なデータ ソースの 1 つとなります。
このチュートリアルでは、Python を使用して Google 検索結果をスクレイピングする方法を学びました。このブログが役に立ったと思われた場合は、ソーシャルメディアや他のプラットフォームで共有してください。
ありがとうございます!
以上がPython を使用して Google 検索結果をスクレイピングするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。