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

プログラミング
スポンサーリンク




こんにちは、おみです。

今までseleniumを使用してwebスクレイピングを行なっていましたが、もともとseleniumはスクレイピングを行うためのライブラリではないらしいです。(今更)

調べてみるとpythonでWEBスクレイピングを行うときにはBeautifulSoupを使用するのがマストという記事が多かったので、seleniumとBeautifulSoupの違いについて、簡単にまとめたいと思います。

スポンサーリンク

seleniumとは…

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

ブラウザの操作を自動化するためのツールなので、ログイン処理やボタンのクリック等、人間が行っている処理も自動で行うことができます、また、JavaScriptを用いているサイトのスクレイピングも行うことができます。

 

ちなみに使用する際には

from selenium import webdriver

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

だからseleniumと調べたらwebdriver以外にもいろいろ出てきたんですね…

時間があればseleniumのほかのツールも使ってみたいと思います。

BeautifulSoupとは…

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

HTMLデータを整形したり、要素を取得したりする処理を高速に行ってくれます。

ただし、解析済みのWEB ページ出ないとスクレイピングを行えないので、例えばJavaScriptが埋め込まれているページの解析は行えません。

どちらを選べばいいか

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

 

また、

selenium … WEBページの操作に向いている

BeautifulSoup … HTMLデータの解析に向いている

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

参考文献

図解!PythonでSeleniumを使ったスクレイピングを徹底解説!(インストール・使い方・Chrome) - AI-interのPython3入門
PythonでSeleniumを使ったWEBスクレイピングの方法を初心者向けに解説した記事です。インストール方法やXPathを用いた要素の指定方法、ログイン方法など、これだけを読んでおけば良いよう、徹底的に解説しています。
Beautiful Soup での スクレイピング基礎まとめ [初学者向け] - Qiita
概要 pythonを使って何かやりたいと思っている今日このごろ、、、 エロい健全な画像を自動収集したいなーと思って今流行りのスクレイピングをやってみました。 Beautiful Soupについて調べたので、基礎的なことをまとめて...

コメント

タイトルとURLをコピーしました