Webページから特定の要素だけをスプレッドシートに取り込みたいと思ったことはありませんか。例えば、他サイトの見出しや表データを定期的に取得して分析したい場合、手動でコピーペーストするのは非効率です。GoogleスプレッドシートのIMPORTXML関数を使えば、HTML内の任意の要素をXPathで指定して直接抽出できます。この記事では、IMPORTXML関数を使ってh1タグや表データを取得する具体的な方法を解説します。
【要点】IMPORTXMLでh1や表を抽出する3つのポイント
- IMPORTXML関数の基本構文: =IMPORTXML(URL, XPath) で指定したURLのHTML要素を取得できます。XPathで抽出対象を正確に指定することが重要です。
- h1タグの抽出: XPathに “//h1” と指定することで、ページ内のすべてのh1見出しを取得します。複数ある場合は縦に並んで表示されます。
- 表データの抽出: XPathに “//table” や “//tr” などを組み合わせて、表全体や特定の行・列を取得できます。HTMLの構造を確認しながらXPathを調整します。
ADVERTISEMENT
目次
IMPORTXML関数でHTML要素を抽出する仕組み
IMPORTXML関数は、指定したURLのWebページに対してXPathクエリを実行し、マッチする要素のテキストや属性値をセルに取り込みます。IMPORTXMLはHTMLを解析するため、静的なページであればほぼ全ての要素を抽出できます。ただし、JavaScriptで動的に生成される要素には対応していません。その場合は別の方法を検討する必要があります。XPathの知識が少し必要ですが、基本的な構文は数パターン覚えれば十分です。
IMPORTXMLはIMPORTHTMLと似ていますが、IMPORTHTMLは表(
| 項目 | IMPORTXML | IMPORTHTML |
|---|---|---|
| 抽出可能な要素 | 任意のHTML要素(h1, div, tableなど) | 表(table)とリスト(ul/ol)のみ |
| 指定方法 | XPath(クエリ文字列) | クエリ種類とインデックス番号 |
| 学習コスト | 高い(XPathの理解が必要) | 低い(直感的な指定が可能) |
| 表データの整形 | 基本的に生のHTMLがそのまま返る | 自動的に行列に展開される |
用途に応じて使い分けると効率的です。例えば、表をきれいな形で取得したいならIMPORTHTML、見出しや特定のdiv内テキストを取得したいならIMPORTXMLを選択します。
まとめ
IMPORTXML関数を使うことで、Webページからh1タグや表データを直接スプレッドシートに取り込めるようになります。XPathの指定は最初は難しいかもしれませんが、基本的なパターン(//タグ名、属性指定)を覚えれば応用範囲が広がります。まずはサンプルサイトで試してみて、徐々に複雑な構造を扱ってみてください。また、IMPORTHTMLとの違いを理解して、状況に応じて最適な関数を選びましょう。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
