Google スプレッドシートを基本的な Web スクレイパーとして使用する – PromptCloud のガイド
公開: 2022-11-08Web スクレイパーとしての Google スイート
Google スプレッドシートには、優れた機能とアクセシビリティの容易さがあります。 特定のデータ ポイントとセクションを抽出するための面倒な作業のほとんどを行います。 Web サイト データの Google シートのスクレイピングは、インポート構文を使用し、Google スクリプトまたは Python アドオンに慣れることで機能します。 調査によると、Web スクレイピング ドキュメントは、Web サイトやフォーラムを定期的に分析する人に最適です。 当社のデータ エンジニアと製品の最前線の幹部は、PromptCloud などの製品を使用して、より堅牢なエクスペリエンスを実現し、Web データをスキャンしています。 このブログでは、Google スイートの数式の使用、ウェブサイトからデータをインポートする方法、および Google シートをウェブ スクレイパーとして使用する際の制限について説明します。 しかし、最初に、データを構造化するための式を見ることから始めましょう。
Web データをシートにプルするための構文
以下は、データを抽出するために使用できる Web スクレイピング式です。
ImportXML
この構文は、HTML および XML フィードで構築された構造化 URL からデータを取得するために使用されます。 ページのタイトル、日付、および著者名に関する詳細を取得できます。 クエリを使用して、Web ページのどのセクションをスクレイピングするかを決定できます。 この関数は、コードを使用せずに CSV および ATOM XML フィードもサポートします。 Web ページの URL をスキャンし、XPath を使用してセクションを見つけ、要素をナビゲートします。 スキャンされたデータは、XML ドキュメントに関連付けることができます。 新しい Google シート ドキュメントから始めて、データを取得する Web ページの URL を追加します。 要素の Xpath が見つかったら、ImportXML 構文を使用して、構造化された Web データを取得します。 セクションにカーソルを合わせ、オプションに移動し、検査をクリックし、[Xpath のコピー] を選択してデータを新しいシートに抽出します。
特に Chrome を使用している場合は、シートに Xpath URL をいくつか微調整して導入します。 このブラウザからコピーされた URL は、常にパスを二重括弧で囲みます。 ただし、Web サイトをスクレイピングするには、二重括弧を単一引用符に変更する必要があります。 また、最初にページ タイトルを微調整し、クエリを送信して Web ページの主要な要素を取得します。 数秒で、クエリは Google シートの情報を構造化された形式で返します。
インポートHTML
この構文は主に、リストの作成と Web サイトからのテーブルのインポートに使用されます。 この関数は、テーブルを簡単にインポートするだけでなく、プルされたデータを定期的に更新し続けます。 Html 構文は、テキスト内のテーブル タグ、順序なしリスト、順序付きリスト タグなどのデータ ポイントをスキャンして、Web ページからデータをコピーします。 HTML を介してデータをインポートするには、適切なテーブル インデックスを使用して URL を二重引用符で囲む必要があります。 ページ上でスキャンする表が複数ある場合、このプロセスは複雑になります。 ここで、開発者コンソールを使用してスキャンを操作するか、キーボードの F12 を使用してメニューを操作する必要があります。 要素にインデックスを付けるために、コンソールで式をコピーします。
特定の列または行だけをインポートするには、構文でフィルターを使用してデータをフェッチします。 一般的な Google スーツの設定として、ドキュメントは 1 時間ごとに更新されます。 ただし、リアルタイム データが必要な場合は、それに応じて更新速度を設定できます。 ページの更新を自動化するには、code.gs や myfunction などのトリガーを使用するとうまくいきます。 また、トリガーが機能しなくなった場合やテーブルの更新が停止した場合にも通知を送信します。 Google スプレッドシートは、最大 50 個の ImportHTML の繰り返しリクエストを処理できます。
インポートフィード
この構文は、コンテンツをページから直接 Google スプレッドシートにスキャンするために使用されます。 ImportFeed を使用すると、データを自動的にインポートするための RSS および詳細なフィードにアクセスできます。 同じ行を選択してデータをコピーするための StartRow や、スキャンされたデータの量を定量化するための NumberRow などのコードを使用して、クエリを送信してデータをインポートします。 セルの範囲を指定すると、指定された Url パスを介して Atom フィードからデータがインポートされます。 この構文によって取得されるデータは、ブログや記事を理解するのに役立ちます。 query や header などの引数を使用すると、必要な情報とそのパスをクローラーに明確に伝えることができます。
ImportData と ImportRange
上記の構文 ImportData は、さまざまなソースや Google シートからデータをスキャンおよびコピーするために使用されます。 一方、ImportRange は Web ページのセクションをコピーします。 名前が示すように、インポート範囲は、独立したスプレッドシートからセルをコピーできるため、Google スプレッドシートで最も重要で便利な機能です。 クエリを使用すると、他のデータセットと同様に、データを検索、フィルター処理、および並べ替えることができます。 関数としてのクエリは、複数のスプレッドシートを処理する際に多くの時間を節約し、任意の 2 つの数式に対して連携して使用できます。 ご覧のとおり、クエリは複数の方法でデータを操作するのに役立ち、インポート機能はデータの表示方法を決定します。
Web サイトからのデータのインポート
調査の労力を軽減し、ウェブサイトからデータをインポートする方法を学習するために、Google Suite の数式を使用する方法を見てきました。 これら 2 つのことを実際に経験することで、日々のタスクに Google シートを使用して Web スクレイピングを行う自信が持てるようになります。
Google シート: 表
Web サイトからテーブルをスクレイピングするのは簡単ですが、正しく実行する必要があります。 空のセルをクリックし、インポート構文を記述して、スクレイピングする URL を貼り付け、テーブル番号を URL に追加します。 この関数を実行すると、テーブル全体が入力されたスプレッドシートが表示されます。 インデックス関数内で値の配列を使用して、行と列をフィルター処理します。
ヘッダーとタイトル
この機能は、ニュース記事や最新のブログの見出しやタイトルをスキャンするのに適しています。 クローラーをヘッダーに向けることができる HTML スクリプト内の特定の URL と識別子を識別したら。 この方法は、トピックについて意見を述べるためにスキャンする Web サイトが 50 以上ある場合に便利です。 すべての Web サイトは異なる方法で構築されているため、識別子 Url は変化し続けます。その場合、PromptCloud のような Web スクレイピング ツールがビジネス ニーズを促進するのに役立ちます。
コンテンツ フィード
この機能を使用して、Web サイト、ブログ、および記事から最近のすべてのコンテンツをインポートできます。 上位のブログや最近のブログにクエリを送信することで、このデータを除外できます。 また、URL にクエリを送信して、独自のフィード リストを作成します。 この方法は、競合他社が自社の Web サイトやソーシャル メディア ページにコンテンツの更新をどのように投稿しているかを追跡するために、主に企業によって使用されています。
シートをスクレーパーとして使用する際の制限
Google スプレッドシートの基本的な用途は、Web データのスクレイピングではありません。 そのため、データがスクレイピングされる量と速度が考慮されると、シートの使用中に制限が予想されます。 スクレイピング数が 50 行または 100 行を超えるとすぐに、Google は単にクラッシュするか、エラーが返されます。 Web コンテンツを理解し、それに応じて分離するなどの単純なことは、Google の機能を使用してソートされます。
結論
Google シートを使用すると、H1 データ、タイトル、説明、およびページ リンクをスクレイピングできます。 Web ページからメタ タイトルや説明などのオフページ コンテンツを引き出すことができるほどです。 インポート コードとインデックス コードを組み合わせることで、複数の作成者の Web ページをスクレイピングすることもできます。 全体として、量が定量化可能で事前に定義されている限り、Google スプレッドシートは Web データをスクレイピングするための優れたエクスペリエンスを提供します。 チーム レベルでの小規模なプロジェクトに最適で、大学の研究プロジェクトの実施に最適です。 大規模なプロジェクトがある場合は、カスタム Web スクレイピングについて[email protected]に連絡してください。