🐍

SeleniumとBeautifulSoupの違いを簡単にまとめてみた

2021/12/18に公開約800字

Webスクレイピングで使用するSeleniumとBeautifulSoupの違いをまとめてみました。

seleniumとは...

  • Webブラウザのオートメーションツール群。
  • 主にWebアプリケーション等の動作テストを自動化するときに用いる。

ブラウザの操作を自動化するためのツールなので、ログイン処理やボタンのクリック等、UIに対する処理も自動で行うことができます。

ちなみに例えばwebdriverを使用する際は

from selenium import webdriver

と記述していましたが、これはseleniumというツール群のwebdriverを呼び出していたというわけです。

BeautifulSoupとは

  • htmlファイルの解析を行うためのライブラリ。
  • 解析済みページのみ処理を行うことができる。

htmlデータを整形したり、要素を取得したりする処理を高速に行なってくれる。
解析済みのWebページでないとスクレイピングを行えないので、例えばJavaScriptが埋め込まれているページの解析は行えません。

どちらを選べばいいか

ログインやボタンクリック等の人の手が必要なWEBページ、またはJavaScriptを用いているWEBページのスクレイピングを行うときには、seleniumを用います。そういった処理が必要ない場合は、処理が高速なBeautifulSoupを用います。

また、
selenium ... WEBページの操作に向いている
BeautifulSoup ... HTMLデータの解析に向いている

と、そもそも向いていることが違うため、seleniumでWEBページを操作して、HTMLを取得し、BeautifulSoupで解析するというように連携して用いることも多いそうです。

GitHubで編集を提案

Discussion

ログインするとコメントできます