logo
languageJPdown
menu

【Python】SeleniumでWebスクレイピングする方法

約6分で読めます

みなさまは、Webスクレイピングというものをご存知でしょうか?それは、Webページの中の情報を抜き出すことができる技術のことです。Webページをすべて確認して必要な情報を抽出するのは大変ですよね。でもWebスクレイピングなら、プログラミングを使って自動で必要な情報を抽出することができるんです。そこでこの記事では、Seleniumというフレームワークを使用したWebスクレイピングの方法についてご紹介します。Seleniumのインストールから、実際にWebスクレイピングができるサンプルコードまで解説していますので、ぜひ最後までご覧ください!

Seleniumとは?

Seleniumとは、Webブラウザの操作を自動化してくれるPythonで活用できるフレームワークです。Webブラウザ上で行う、クリックや文字入力といった操作をプログラミングで実行できるようになるため、Webスクレイピングで利用されています。

Webスクレイピングとは?

本記事でご紹介しているWebスクレイピングとは、Webサイトから特定の情報を“自動的に”抽出できる技術のことです。一般的にプログラミングによって実現され、Webページのテキストやリンク、URLなど、プログラミングの内容によって、欲しい情報だけを選択的に抽出することができます。

PythonのSeleniumは何ができるの?

PythonのSeleniumは、Webブラウザを自動化するためのツールです。主な機能は以下の通りです:

1.Webページの自動操作: Seleniumを使用すると、Webページ上の要素(ボタン、テキストボックス、リンクなど)を自動的にクリックしたり、テキストを入力したり、要素を選択したりすることができます。

2.フォームの自動入力: Seleniumを使って、Webフォームにデータを自動的に入力することができます。たとえば、ユーザー名やパスワードを入力してログインする場合、Seleniumを使って自動的にこれらの情報を入力することができます。

3.Webページのスクレイピング: Seleniumを使用すると、Webページのコンテンツをスクレイピングすることができます。これにより、Webページからデータを抽出し、必要な情報を取得することができます。

4.ブラウザの制御: Seleniumは、さまざまなWebブラウザ(Chrome、Firefox、Safariなど)を制御することができます。これにより、ブラウザの起動、ページのロード、ブラウザの操作などを自動化することができます。

5.ブラウザのテスト自動化: Seleniumは、Webアプリケーションのテスト自動化に広く使用されています。テストケースを作成し、Seleniumを使用してテストスクリプトを実行することで、ブラウザ上でのテストを自動化することができます。

Seleniumは非常に柔軟で強力なツールであり、Webブラウザを自動化するためのさまざまなシナリオに使用することができます。

Seleniumライブラリをインストールする

それではまずは、Seleniumをインストールする方法を解説します。といっても非常に簡単なので、どなたでもすぐに実施いただけます。WindowsとMacで手順が異なるので、ご自身の環境に合った方法を選択してください。

Windowsの場合:

1.コマンドプロンプトを起動します。

2.コマンドプロンプトの画面に以下を入力します。

pip install selenium

3.あとは、インストールが完了するまで待つだけです。

Macの場合:

1.ターミナルを起動します。

2.ターミナルの画面に以下を入力します。

pip3 install selenium

3.あとは、インストールが完了するまで待つだけです。

SeleniumでWebスクレイピングする方法は?(サンプルコード付き)

それではSeleniumを使ったWebスクレイピングの方法をご紹介していきます。ここではWindowsを例に解説していきたいと思います。サンプルコード付きなので、どなたでもすぐに実践できますよ。

Seleniumライブラリのインストール

前章でご紹介した手順に沿って、お使いのPCにSeleniumライブラリをインストールしておきましょう。インストールが完了したら、以降の手順に進んでください。

ChromeDriverのインストール

Seleniumを使ってWebスクレイピングを実施するには、Googole Chromeのブラウザが推奨されており、そのためにChromeDriverというChromeを自動操作するためのソフトウェアが必要となります。

1.以下のサイトにアクセスし、お使いのChromeブラウザのバージョンに合ったChromeDriverをダウンロードします。

2.ダウンロードしたzipファイルを解答し、chromedriverという名前の実行ファイルが確認できれば操作は完了です。

Webスクレイピングの実施例(Googleの検索結果から)

1.テキストエディタを起動し、下記のサンプルコードを記入したら、ファイルを“.py”という拡張子で保存します。

2.コマンドプロンプトを起動し、先程保存したファイルのあるディレクトリへ移動します。

3.コマンドプロンプトに”python ◯◯.py”と入力し、実行すれば操作完了です。◯◯の部分は保存したファイル名を入力しましょう。

[サンプルコード:テキスト情報の取得]

from selenium import webdriver
driver = webdriver.Chrome('chromedriverの保存先のパスを入力します')
	
url = https://www.google.com/  #アクセスしたいWebページのurlを入力
driver.get(url)
	
elm = driver.find_element_by_class_name('MV3Tnb')
print(elm.text)

SeleniumなしでWebスクレイピングする方法はあるのか?

さて、Seleniumを使ったWebスクレイピングの方法をご紹介しましたが、プログラミングは難しそう…と感じた人も多いハズ。そんな方向けに、ここではプログラミング不要で誰でも簡単にスクレイピングが実施できるOctoparseというツールをご紹介いたします。

Octoparseでスクレイピングする方法【Selenium不要】

  • Octoparseの特徴
    • プログラミング不要!簡単操作で誰でも簡単にスクレイピングができる様々なWebサイトに対応しており、目的のサイトにも活用できる
    • 日本語対応なので操作で悩むことが無く安心できる
  • Octoparseの入手方法
    • ツールを起動し、スクレイピングしたいWebページのURLを画面中央の検索欄に入力します。入力したら、「スタート」をクリックします。

【自動検出機能でスクレイピングする】

1.Octoparseを起動し、検索ウィンドウからスクレイピングしたいWebページのURLを入力します。その後、「スタート」をクリックします。

2.「ウェブページのデータを自動検出」を選択します。すると、ウェブページが自動的に検出されます。

3.もし次のページに続きがある場合あるいはスクロールダウンがある場合なら、操作提案上の指示に従ってスクロールダウンとページネーションを設定することができます。

よくある質問

Seleniumでスクレイピングをしたらバレる?

そもそも、Seleniumでのスクレイピングは、ウェブサイトの利用規約に違反しない限りは、法的には問題ありません。 ただし、ウェブサイトの所有者が「特定のパターンを持つリクエスト」などの監視を行っている場合、スクレイピングを検出される可能性はあります。

Seleniumの弱点は何?

Seleniumは、Webブラウザ専用の自動化フレームワークです。従って、ブラウザの操作以外は自動化することができない点が欠点として挙げられます。

Seleniumの難易度は?

Seleniumはオープンソースなので、誰でも無料で使うことができます。さらにこれまでに紹介したとおり、インストールも使い方もシンプルなので、学習時間もそれほど長くはかからないでしょう。

まとめ

以上に、Seleniumを活用したWebページのスクレイピング方法についてご紹介いたしました。Webページの情報を人力で収集しようとすると非常に大変ですが、Seleniumを活用することで自動に簡単に同じことが実現できるとお分かりいただけたかと思います。また「プログラミングは難しそう…」という方向けには、プログラミング不要で誰でも簡単にスクレイピングが実現できる、Octoparseとうツールがオススメです。ぜひこの機会に活用してみてくださいね! 

人気記事

トピックを検索する

今すぐOctoparseを始めて、業務効率化を実現しましょう。

ダウンロード

関連記事

  • avatarTakahashi
    Webスクレイピングを行う上で、重要な役割を担うのが「XPath」です。しかし、XPathについて正しく理解できていない方も多いでしょう。そこで今回はXPathについて、基本から書き方までわかりやすく解説します。それ以外に、XPathでスクレイピングする手順とXPathを取得する方法についてもご説明します。
    2023.12.07 · 7 min read
  • avatarCASITOMO
    膨大な数の求人情報が掲載されているタウンワーク。目的の求人情報を効率的にリスト化できる方法をご存知でしょうか?その方法を「Webスクレイピング」と呼びます。Webスクレイピングを実行するやり方は2通りあります。 1つ目は、「Python(パイソン)」というプログラミング言語を用いてプログラムを作るやり方。そして2つ目は、「Octoparse(オクトパス)」というWebスクレイピングを作るやり方。今回は、PythonとOctoparseはどちらが初心者向けのやり方なのか?を知っていただくために、両者のWebスクレイピングを比較します。Webスクレイピングに興味がある方はぜひ参考にしてみてください。
    2022.12.12 · 7 min read
  • avatarShinz
    PythonとWebスクレイピングツールはどちらでもデータを抽出できます。ただ、pythonの方がデータを抽出する前に必要なプログラミング専門知識は欠かせません。でも、スクレイピングツールの方が、誰でも簡単に使えることができます。プログラミング知識のない方にも、入手したいデータがあったら、Octoparseでクリックするだけで簡単にデータを抽出することができます。ぜひ、お勧めます!
    2021.07.05 · 5 min read
  • avatarOctoparse
    Webスクレイピングを行うためにさまざまな方法を利用しています。一般的には、プログラミング(コーディング)とツール導入(ノーコード)の2つのやり方があります。この記事では、これら2つの方法を利用してTwitterをスクレイピングしてみます。
    2021.03.01 · 5 min read