Selenium×pythonでWebスクレイピングを実現する方法(ソースコード付き) | Seleniumとpythonの環境構築と実行手順も解説

Webスクレイピングとは

Webスクレイピングとは、Webページ上の情報を自動で収集するための技術です。
日々更新されるWebサイト上の情報を、手作業で収集する事は現実的ではありません。Webスクレイピングを用いて収集作業を自動化することで、業務の効率化を実現できます。

Webスクレイピングを行うには

Webスクレイピングは、プログラミングによってWebブラウザを自動操作することによって、情報収集を自動化します。

今回はWebスクレイピングを実現するためによく使われる「Python(パイソン)」というプログラム言語を用いた手順をご紹介します。
Pythonには強力なライブラリが数多く存在し、ブラウザの自動操作やHTMLの解析等を行うプログラムを書くことができます。
ブラウザの自動操作を行うためのライブラリにはいくつか候補がありますが、ここでは最も普及しているライブラリ「Selenium(セレニウム)」を用いた手順を紹介したいと思います。SeleniumはWebDriverを介してブラウザをプログラム操作します。

・プログラム言語: Python
・ブラウザ操作ライブラリ: Selenium
・操作対象のブラウザ: Google Chrome, Microsoft Edge, Firefox等


スクレイピングイメージ

環境構築

・Pythonのインストール

プログラム言語の「Python」をインストールします。Pythonの公式ページからPython3.xをダウンロードして、インストールします。

・WebDriverのダウンロード

ここではGoogle Chromeを操作するためのWebDriverをダウンロードします。
ChromeDriverのページから、操作対象のChromeバージョンと一致するDriverをダウンロードします。
https://developer.chrome.com/docs/chromedriver?hl=ja
解凍して、任意のフォルダに配置します。

・Seleniumのインストール

コマンドプロンプト(ターミナル)から、次のコマンドを実行します。

pip install selenium

実装

ここでは、IPAのサイトから新着情報の一覧を取得するスクレイピング処理を実装してみます。
https://www.ipa.go.jp/news/index.html


IPA新着情報画面

「ipa_scraping.py」という名前のテキストファイルを作成して、テキストエディタで開きます。
次のコードを入力して、保存します。

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By

options = Options()
options.add_argument('--headless')
options.binary_location = 'Chromeブラウザのパス'

driver = webdriver.Chrome(service=Service('ChromeDriverのパス'), options=options)

driver.implicitly_wait(0.5)

driver.get('https://www.ipa.go.jp/news/index.html')

topics = driver.find_elements(By.CSS_SELECTOR, 'ul.news-list li p')
for topic in topics:
    print(topic.text)

driver.quit()

※「Chromeブラウザのパス」の部分は、お使いのChromeのパスです。(Windowsの場合はchrome.exeファイルのパス)
※「ChromeDriverのパス」の部分は、環境構築でダウンロードしたChromeDriverのパスです。(Windowsの場合はchromedriver.exeのパス)

コードが入力できたら、コマンドプロンプト(ターミナル)を開いて、ipa_scraping.pyを実行します。成功すると、取得した一覧情報が出力されます。

python ipa_scraping.py

ソースコードの解説

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By

ソースコードの冒頭で、プログラム内でSeleniumの機能を使用できるようにインポートしています。

options = Options()
options.add_argument('--headless') # 画面を持たないヘッドレスモードで起動
options.binary_location = 'Chromeブラウザのパス' # Chromeの実行ファイルのパスを指定

Chromeの起動オプションを指定しています。

driver = webdriver.Chrome(service=Service('ChromeDriverのパス'), options=options)

ChromeDriver(WebDriver)を介して、Chromeを起動しています。

driver.implicitly_wait(0.5)

操作の対象となる要素が見つかるまでの最大待機秒数を指定しています。

driver.get('https://www.ipa.go.jp/news/index.html')

IPAの新着情報ページに遷移しています。

topics = driver.find_elements(By.CSS_SELECTOR, 'ul.news-list li p')
for topic in topics:
    print(topic.text)

一覧の全行分の要素を取得し、各行のテキストを出力しています。

driver.quit()

Chromeを終了しています。

Webスクレイピングをお考えなら『クラウドBOT』をお試しください

クラウドBOTはブラウザ操作を自動化できるクラウド型のRPAサービスです。Webスクレイピング用途でも多数の利用実績があります。複雑な環境構築をが不要であり、会員登録すると無料でWebスクレイピング用のロボットを作成できます。ロボットは基本的にノーコードで構築できますが、複雑な処理を行いたい場合は、javascriptを直接記述し、実行させることもできます。
Webスクレイピングの実装を検討されている方は是非一度お試し下さい。


クラウド型RPAについてもっと詳しく


  1. クラウド型RPAを低価格で導入!そもそもRPAとは?導入ニーズが高まった背景 無料体験も実施!活用事例も参考に
  2. クラウド型RPAを導入するメリットとは?専門知識がなくても簡単に活用できるのが魅力
  3. クラウド型RPAツールを無料体験!代表的なRPA製品「オンプレミス型」と「クラウド型」について
  4. クラウド型RPAツールの導入事例をご紹介!RPAツールの選定ポイント 使い方簡単で格安
  5. iPaaS製品の必要性 iPaaSとの連携が可能なクラウド型RPA『クラウドBOT』 無料プランから利用可能!初めての方は事例を参考に
  6. iPaaS製品とRPAツールの違い 日本でも普及が広がる!iPaaSを導入するメリット
  7. SaaSを連携させてワークフローの自動化・効率化を実現!クラウドサービス「SaaS」の連携手段とクラウド型のRPAツールを利用した連携
  8. SaaSの連携に有用な2製品「iPaaS」と「クラウド型RPA」とは SaaSの連携なら各APIに対応可能◎活用事例も多い『クラウドBOT』の導入を
  9. webブラウザ操作の自動化なら『クラウドBOT』 RPAツールで自動化・効率化できる業務 データ抽出を効率化するなら
  10. webブラウザ操作の自動化ならプログラミング不要で更新も手間いらずの『クラウドBOT』 自動化できる操作をご紹介
  11. ブラウザ操作を自動化する『クラウドBOT』は、日常的に行っているブラウザ操作をノーコードで自動化する事ができます
  12. ブラウザを自動操作する方法 - 『クラウドBOT』を使用して、ブラウザを自動操作する方法を解説します。
  13. Google Chromeのを自動操作するならインストール不要・プログラミング不要で自動操作を実化できる『クラウドBOT』がおすすめ
  14. 初心者でも簡単に使えるおすすめのRPAツール3選 | RPAの選定ポイントについても解説
  15. ブラウザのスクリーンショット撮影を自動化する方法をご紹介
  16. Seleniumを使ってWebスクレイピングを行う方法について
  17. Web上の業務を効率化できるツールをご紹介 | iPaaS、RPAの違いとは
  18. 総務におすすめRPA活用事例をご紹介 | クラウド型RPA活用事例
  19. ブラウザ上で行っている業務を効率化できるおすすめツール3選
  20. PuppeteerとNode.jsを使用してブラウザ操作を自動化する方法
  21. Selenium×pythonでWebスクレイピングを実現する方法(ソースコード付き) | Seleniumとpythonの環境構築と実行手順も解説
  22. クラウド型RPAを用いたカートシステムとWMSのデータ連携事例をご紹介 | ローコストで始める受注データの連携、出荷データの連携
  23. Chromeの拡張機能を使用してWebページのスクリーンショット撮影する方法
  24. Playwrightを使用して、Webページのスクリーンショット撮影を行う
  25. 無料で使えるおすすめのRPAをご紹介 | 無料RPAのメリット・デメリットや選定基準も解説
  26. APIがないWebシステムとデータ連携する方法
  27. Puppeteerを使用してテストを自動化する方法
  28. 簡単にできる!Webサイト画像の一括ダウンロードガイド
  29. 税理士・会計士におすすめ!RPA活用事例 RPAを使って業務効率改善を
  30. RPAとAIの組み合わせ事例をご紹介 | RPA、AIのそれぞれの特徴と組み合わせで実現できる自動化について解説
  31. playwrightを使用してブラウザのテストを自動化する方法について