すべてのコレクション
応用例
検索エンジン
Google検索の結果をスクレイピングする
Google検索の結果をスクレイピングする
一週間前以上前にアップデートされました

こちらは最新バージョンのOctoparse向けのチュートリアルガイドです。お使いのOctoparseが古いバージョンの場合は、最新バージョンへのアップグレードを強くおすすめします。最新バージョンは高速で、より使いやすく、強力になりました。まだアップグレードしていない場合は、こちらからダウンロードとアップグレードを行ってください。

Googleは最も多く使われている検索エンジンです。このチュートリアルでは、Google検索結果のデータをスクレイピングする方法を説明します。

ホーム画面の「テンプレートタスク」に移動し、準備済みのGoogle検索テンプレートを使用して作業を開始することができます。このテンプレートを使用すると、スクレイピングタスクの設定は必要ありません。詳細については、こちらをご覧ください: テンプレートタスク

チュートリアルで次のURLを使用します:

主な手順は右側のメニューに表示されています。サンプルのタスクファイルはこちらからダウンロードできます。


1.対象のWebページを開く


2. キーワードを入力し検索する

  • 入力ボックスをクリックし、パネルの「テキストを入力する」をクリックします。

  • キーワードを入力し、「はい」をクリックします。

  • ページの検索ボタンをクリックし、「操作提案」の「選択したボタンをクリックする」をクリックします。

ヒント!

  • 複数キーワード入力することも可能です、ガイドをご覧ください


3.スクロールページとページネーションを追加する

  • 「アイテムをクリック」を選択します。

  • 「詳細設定」タブに移動します。

  • 「スクロールダウン」にチェックを入れます

  • スクロール回数を6回に設定します。

  • 「保存」をクリックします。

  • ウェブページの一番下にある「もっと見る」をクリックします。

  • 「ループクリック」をクリックします。

  • AJAXタイムアウトを設定します:7-10秒が推奨されています。

注意:Googleは時々スクレイピング防止対策としてキャプチャを使用する場合があります。キャプチャを手動で解決するには、ブラウズモードをオンにして指示に従ってください。


4.複数の検索結果をスクレイピングする

コンテンツによって、検索結果の表示方法は様々です。

mceclip5.png

ページ内に似たような構造の検索結果が複数あることをoctoparseに教えるには、以下の手順が普通です。

  • a.一番目検索結果のタイトルとWebアイコンの部分をクリックします。

  • b.一番目検索結果全体が選択されるまで、「操作提案」の一番左のDIVをクリックします。

  • c.次に、二番目の検索結果を選択します。

  • d.検索結果がすべてハイライトされたことを確認したら「各要素のテキストを抽出する」を選択します。

  • この時点で、生成されたフローチャートは次のようになっているはずです(主な違いは、キーワードの数と、ページをめくるかどうかです)。


5. 正しいXpathですべてのレイアウトを特定する

Q:Xpathを修正する理由を教えください

A:検索結果のコンテンツに応じて、Googleは異なるレイアウトで表示させます(下図)。それらすべてを特定するためには、正確なxpathを使用する必要があります。

  • a.「ループアイテム」ステップに戻り、下記のように該当Xpathを修正します。

    //div[@jscontroller="SC7lYd"]

項目

Xpathタイプ

Xpath値

属性

ウェブサイト名

相対Xpath

//div[@class="notranslate TbwUpd NJjxre iUh30 ojE3Fb"]/div/span

デフォルト

タイトル

相対Xpath

//h3

デフォルト

リンク

相対Xpath

//h3/..

href

紹介

相対Xpath

//div[contains(@class,'VwiC3b yXK7lf')]

デフォルト

次の画像は、フィールドに中のリンクを追加する手順を示しています。

上記のXPtahの由来が分からない場合は、XPtahを一から勉強する必要があります。以下のチュートリアルをご参照ください:


6.データ抽出 - データ取得のタスクを実行する

  • 「保存」と「実行」をクリックし、データを抽出します。

  • 「ローカル抽出」または「クラウド抽出」(有料版のみ)を選択します。

以下はサンプルの出力です:

こちらの回答で解決しましたか?