🐍
SeleniumとBeautifulSoupの違いを簡単にまとめてみた
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で解析するというように連携して用いることも多いそうです。
Discussion