Excelでスクレイピングする方法

反応する:

コメント

Excelを使えば、ウェブページからデータを抽出できます 外部ツールを一切インストールすることなく。. Power Query これが最も簡単な方法です。わずか数回のクリックで HTMLテーブルを取り出す それをシートに直接インポートします。より複雑なページの場合は、 VBA 引き継ぎ、あなたにより多くのコントロール権を与えます。.

以下に、両ケースにおけるウェブスクレイピングの手順を説明します。.

Power Query を使用した Web データの抽出を示す Excel 画面
Web上のデータをExcelに取り込むには、いくつかの手順を踏むだけです。 ©Christina(Alucare.fr)

Power Query を使ってウェブページを Excel にスクレイピングするにはどうすればよいですか?

Power Query は、に組み込まれたツールです Microsoft Excel (別名 Webクエリ (一部のバージョンでは)さまざまなソースからのウェブデータをインポート、変換、分析するためのツールです。具体的には、次のようなことができます:

  • 回復 ウェブデータ ウェブサイト、ファイル、またはデータベースから。.
  • 分析を行う前に、これらのデータをクリーニングまたは加工する。.
  • データを読み込む 自動的に シートに反映させて、チームが最新の情報を基に作業できるようにしてください。.

これは最も 単純 コードを1行も書かずに、WebデータをExcelに取り出す方法をご紹介します。以下の4つの手順に従ってください。.

ステップ1:インポートツールにアクセスする

の Microsoft Excel, へ進む’[データ] タブ, その後、をクリックして データを取得する そして最後に ウェブから.

新しいExcelシートを開き、「データ」→「データの取得」→「Webから」の順に選択します。.
新しいExcelシートを開き、「データ」→「データの取得」→「Webから」の順に選択します。 ©Christina(Alucare.fr)

ステップ2:ウェブページのURLを貼り付ける

ここに貼り付けてください’URL 抽出したい情報が掲載されているウェブサイトまたはページを選択し、確定してください。.

Power Query に、対象のサイトまたはページの URL を貼り付けます。.
ターゲットサイトまたはページのアドレスを貼り付けます。©Christina pour Alucare.fr

ステップ3:「ナビゲーター」を操作する

ウィンドウが開き、以下の内容が表示されます。 検出されたテーブル. Power Query ページのコード内に含まれるテーブルを自動的に検出します。目的のテーブル(例えば、 HTMLテーブル, 、クリーンなデータセットを得るために。.

Power Query ナビゲーターで、検出されたテーブルまたはデータを選択します。.
表またはデータを選択してください。©Christina pour Alucare.fr

ステップ4:データをExcelシートに読み込む

をクリックする。 充電する データをシートに直接インポートするには。すぐに整理された表ができ上がり、分析の準備が整います。.

「読み込み」をクリックして、Web上のデータをExcelシートに取り込みます。.
データをインポートするために読み込みます。©Christina for Alucare.fr

サイトの最新情報を取得するには、 右クリック 表内で、次にクリックして 更新する. これにより、データをほぼリアルタイムで最新の状態に保つことができます。.

始める前に知っておくべき限界

Power Query 静的なHTMLページでのみ動作します。. テーブルがナビゲーターに表示されない場合、多くの場合、そのページはコンテンツを ジャバスクリプト : サイト React, Angular, 、あるいはスクロール後に表示されるデータなど。.

その場合、2つの選択肢がある。直接ターゲットを絞ることもできるし、’API サイトがバックグラウンドで呼び出すもので、多くの場合、ブラウザの開発者ツールで確認できます。そうでない場合は、次の方法に進んでください。 VBA あるいは、次のような専用ツールなど Octoparse.

VBAとExcelマクロでスクレイピングする方法

VBA (Visual Basic for Applications) は、に組み込まれているプログラミング言語です。 Microsoft Excel およびその他のソフトウェア Microsoft Office. これにより、以下のことが可能になります:

  • Excelでの反復作業を自動化します。.
  • 作成 マクロ, 、ファイル内で直接実行される小さなプログラム。.
  • ウェブページを開き、テキストや表を抽出して、Excelに自動的に貼り付ける。.

これは、より技術的なもので、 Power Query, 、でも君は 高度な制御 : 複数のページ間の移動、認証を伴う接続の管理、Power Queryでは検出されないデータの収集。.

以下は、ページからHTMLテーブルを取得するマクロの例です:

Sub ScraperTableau()

 ' オブジェクトの宣言
    Dim http As Object, html As Object
    Dim tableau As Object, ligne As Object, cellule As Object
    Dim i As Long, j As Long

 ' スクレイピング対象ページのURL
    Dim url As String
    url = "https://www.w3schools.com/html/html_tables.asp"
 
 ' HTTPオブジェクトの作成
    Set http = CreateObject("MSXML2.XMLHTTP")
    http.Open "GET", url, False
    http.Send

 ' HTMLコンテンツを読み込む
    Set html = CreateObject("HTMLFile")
    html.body.innerHTML = http.responseText

    ' 最初に検出されたテーブルを選択
    Set テーブル = html.getElementsByTagName("table")(0)

 ' 行と列をループ処理
    For i = 0 To テーブル.Rows.Length - 1
        For j = 0 To テーブル.Rows(i).Cells.Length - 1
 Cells(i + 1, j + 1).Value = テーブル.Rows(i).Cells(j).innerText
 Next j
    Next i

End Sub

コードの説明:

  • Dim http As Object, html As Object : WebリクエストとHTMLコンテンツを処理するためのオブジェクトを作成します。.
  • url = "..." : スクレイピング対象のウェブサイトのURL。.
  • http.Open "GET", url, False : ページを読み込むためのHTTPリクエストを送信します。.
  • html.body.innerHTML = http.responseText : HTML形式の応答を操作可能なオブジェクトに挿入します。.
  • Set tableau = html.getElementsByTagName("table")(0) : 対象は 最初の表 ページの
  • ダブルループ For i … For j … : 配列の各セルを読み取り、Excelの対応するセルに貼り付けます。.

重要な制限点に注意してください。. このコードは 単純なHTTPリクエスト 経由 MSXML2.XMLHTTP そして、サーバーから返される静的なHTMLのみを取得します。それは JavaScriptを実行できません 1ページ分。データを動的に読み込む現代的なウェブサイトでは、空の結果が表示されることになる。このような場合、例えば以下のようにして、実際のブラウザを操作する必要がある。 Selenium と Python.

スクレイピングにVBAを使用すべき場合:

  • について 認証が必要なページ (ユーザー名とパスワード)。.
  • ~しなければならないときは 複数の配列を取得する 同じページ内を移動したり、複数のページ間を移動したりできます。.
  • 為に 自動化 ボタンやプログラムされたトリガーによる毎日のデータ収集。.

Power Query 対 VBA:Excel でスクレイピングを行うにはどちらの方法を選ぶべきか?

選択 Power Query と VBA それは、あなたのニーズや対象となるサイトの複雑さによって異なります。判断の参考になるよう、簡単な比較表を以下に示します。.

基準 Power Query VBA
使いやすさ とても 単純, コードなし 複雑で、コードが必要
柔軟性 以下の対象に限定されます データ 表形式の 非常に柔軟で、完全な制御が可能
学習曲線 弱い 高い
ページの種類 ページ HTML 静的データのみ HTTPリクエスト、認証が必要なページ
ユースケース 抽出 速い 表 高度な自動化、特定のニーズ

実際には、, Power Query 初心者や一般的な作業のほとんどにとっては、依然として最良の選択肢です。ウェブ上のデータをインポートするには、たった4つの手順で済みます。 Microsoft Excel, 、コードを1行も書くことなく。.

選択 VBA 具体的なニーズがある場合に限って Power Query 対象外:複雑なページ、認証、高度な自動化。それ以外については、, Power Query これにより、あなたは 時間.

ウェブスクレイピングのためのExcelの代替手段は何ですか?

Excelは依然として便利ですが、大量のウェブデータになるとすぐにその限界が露呈します。より大規模なプロジェクトでは、他のツールが引き継ぐことになります。中には、次のように機能するものもあります コードなし, 、中には少しプログラミングの知識が必要なものもあります。また、次のようなものも見つかるでしょう。 フリーツール 必要に応じて。.

ノーコードおよびローコードツール

これらのツールにより、 ウェブデータの収集 コードを1行も書く必要はありません。ビジュアルインターフェースを使ってターゲットを設定し、その結果を CSV形式 Excelで直接開くためです。これは、 マーケティング動向 あるいは、さまざまなインターネット上の情報源の追跡。.

  • Bright Data :企業の大きなニーズに合わせて設計された、プロフェッショナルで高性能なソリューションです。.
  • Octoparse a ノーコードのウェブスクレイパー シンプルなインターフェースで、初心者にも最適。数回のクリックでExcelへエクスポートできます。.

Bright Dataのインターフェース:AIおよびBI向けのウェブデータ収集インフラ
Bright Dataは、AIおよびBI向けの無制限のウェブデータインフラストラクチャです。©Christina for Alucare.fr

プログラミング言語

次のような言語 Python これにより、ウェブサイトを非常に柔軟にスクレイピングすることができます。以下のサイトを閲覧できます 複数のページを自動的に, 認証機能付きのサイトを管理し、以下では実現不可能なデータ収集を確実に行う Power Query. これは、競合他社の動向を追跡したり、自社の流通網を分析したりする企業にとって特に有用です。.

複雑なプロジェクトの場合は、以下の方法をご検討ください。 PythonとBeautifulSoupを使ったウェブスクレイピング. データの収集が定期的になったり、膨大な量になったりする場合、これが最も効果的な手法です。.

ここでは、機能性、柔軟性、使いやすさの点でExcelを上回るソリューションを簡単に比較します。.

ツール/言語 料金 複雑性 パワフル
Excel (Power Query) パックによって異なります Office 簡単 基本
Excel (VBA) 無料(ライセンス付き) Office) 平均 平均
Bright Data 毎月のサブスクリプション 平均 非常に高い
Octoparse 毎月のサブスクリプション 簡単 平均
Python (BeautifulSoup, Scrapy) 無料 高い 非常に高い

Excelでスクレイピングを行う際に役立つツールやリソースは何ですか?

さらに踏み込んで Power Query そしてVBAを使えば、Excelと サードパーティツール. これらのスクレイパーはデータを シーエスブイ, 、Excelで直接開ける形式です。これにより、コードを1行も書くことなく、分析可能なクリーンなデータセットを取得できます。.

ニーズに応じて、以下の2つの便利な選択肢があります:

  • あ ウェブスクレイピング拡張機能 お使いのブラウザでは、例えば Web Scraper の上 Chrome どこ Firefox. 面倒なインストール作業を必要とせず、わずか数回のクリックでウェブサイトからデータを抽出するのに最適です。.
  • the Pythonでウェブスクレイピング. この方法では多少のコードが必要ですが、以下の処理に対応しています。 複雑なページ それ Power Query 検出されません。.

具体的には、次のものを選んでください。’エクステンション 一時的で迅速な対応が必要な場合に。次のページへ Python 定期的なデータ収集を自動化したい場合や、大量の情報を処理したい場合は、すぐにでも。.

ウェブスクレイピングは合法か?

the ウェブスクレイピングは合法です 一定の条件の下で。すべては、当該サイトの利用規約、知的財産権、および収集されたデータの利用方法によって異なります。.

実際には、 公開データ は通常、復元可能です。一方、一度 個人データ (氏名、メールアドレス、プロフィール)を入力すると、 RGPD, 、たとえその情報がインターネット上で一般に公開されているとしても。.

サイトをスクレイピングする前に、次の2つの簡単な点を確認してください:

  • ファイル robots.txt サイトの、ロボットがクロールすることを許可されているページと許可されていないページを示すファイル。.
  • The 使用条件, 、これらは場合によっては、自動化されたデータ収集を明示的に禁止している。.

落ち着きを保つためには、次のようなことに限定しましょう。 非個人情報 また、サイトに過度な負荷がかからないよう、サイトのリズムに合わせて投稿してください。.

👍あなたの意見
記事は参考になる
記事は客観的である
記事は私の質問に答えている
コンテンツは最新
エラーが見つかりましたか? 場所を教えてください!

気に入りましたか?シェアする

このコンテンツはもともと フランス語で (すぐ下のエディタを参照)。DeeplやGoogle翻訳APIを使用して様々な言語で翻訳・校正されており、できるだけ多くの国で利用できるようになっています。この翻訳には毎月数千ユーロのコストがかかっています。もし100 %が完璧でない場合は、コメントを残していただければ修正いたします。校正や翻訳記事の品質向上にご興味のある方は、お問い合わせフォームからメールをお送りください!
私たちは、私たちのコンテンツを改善するためにあなたのフィードバックに感謝します。ご意見・ご感想は、お問い合わせフォームまたは下記までお寄せください。 あなたのコメントは、私たちのウェブサイトAlucare.frの品質を向上させるために常に役立ちます。


Alucareは独立系メディアです。Googleニュースのお気に入りに追加して応援してください:

ディスカッション・フォーラムにコメントを投稿する