LoginSignup
0
2

More than 3 years have passed since last update.

100日後にエンジニアになるキミ - 74日目 - プログラミング - スクレイピングについて5

Posted at

昨日までのはこちら

100日後にエンジニアになるキミ - 70日目 - プログラミング - スクレイピングについて

100日後にエンジニアになるキミ - 66日目 - プログラミング - 自然言語処理について

100日後にエンジニアになるキミ - 63日目 - プログラミング - 確率について1

100日後にエンジニアになるキミ - 59日目 - プログラミング - アルゴリズムについて

100日後にエンジニアになるキミ - 53日目 - Git - Gitについて

100日後にエンジニアになるキミ - 42日目 - クラウド - クラウドサービスについて

100日後にエンジニアになるキミ - 36日目 - データベース - データベースについて

100日後にエンジニアになるキミ - 24日目 - Python - Python言語の基礎1

100日後にエンジニアになるキミ - 18日目 - Javascript - JavaScriptの基礎1

100日後にエンジニアになるキミ - 14日目 - CSS - CSSの基礎1

100日後にエンジニアになるキミ - 6日目 - HTML - HTMLの基礎1

今回もスクレイピングの続きです。

あらかたスクレイピングの原理は前回までで終わっていますので
今日はSeleniumのお話です。

Seleniumについて

SeleniumはWEBブラウザの操作を自動化するためのフレームワークソフトウェアです。

Seleniumを使うことで、Pythonrequestsライブラリ単体で行う
スクレイピングでは取得できない情報も取得できるようになります。

では取得できない情報とは何でしょうか?

通常のrequestsライブラリではgetメソッドなどで取得できる情報はHTMLのソースになります。

その要素の一部がJavascriptでレンダリングするように書かれている場合
Javascriptが働かないとデータとして反映されません。

そのためJavascriptでで動的に生成される要素はrequestsライブラリでは
取得することはできません。

SeleniumはWEBブラウザを動かしてデータを取得しに行くため、通常のブラウザでアクセスするのと何ら変わりません。Javascriptも働きレンダリングされたデータを取得できます。

Seleniumを動かすのに必要なもの

PCなどでSeleniumを動かすのに必要なのは以下の3つです。

WEBブラウザ
Chrome, Firefox, Opera など

WebDriver
ブラウザを操作するためのソフトウェア

Selenium
WebDriverと連携してプログラムからブラウザを操作するライブラリ

各種ツールのインストール

インストール方法は以下のようになります。

WEBブラウザのインストール
各種ブラウザのダウンロードサイトからダウンロードしてインストールを行う

Google Chrome

Firefox

Opera

WebDriverのダウンロード
WebDriverはインストールは必要なく、ダウンロードして配置するだけで動作します。
ダウンロード後はプログラムから見て近いディレクトリなどに配置しておきます。

ドライバーはブラウザのバージョンアップとともに変更されるので、都度バージョンに合わせてダウンロードを行います。

Google Chrome

Firefox

Opera

Seleniumのインストール
Pythonでのインストール方法は下記です。

pip install selenium

Seleniumを動かす

Seleniumを動かすまでの手順としては

1.ブラウザのインストール
2.WebDriverのダウンロードと配置
3.Seleniumのインストール
です。

ここではSeleniumからGoogle Chromeを操作してみましょう。

from selenium import webdriver

# ドライバー設定
chromedriver = "ドライバーのフルパス"
driver = webdriver.Chrome(executable_path=chromedriver)

driver.get('アクセス先のURL')

これを実行するとブラウザが立ち上がります。

立ち上げるブラウザがGoogle Chromeなのでwebdriver.Chromeを使っています。
ブラウザによって対応するメソッドが変わります。
Firefox:webdriver.Firefox
Opera:webdriver.Opera

executable_pathにはWebDriverのパスを書くのですが
フルパス(絶対パス)でないと認識しないようです。浅目の階層にwebdriverを置いておきましょう。

ここまででSeleniumを使ってブラウザを起動できたのではないでしょうか?

次回はここからブラウザの操作方法に入ります。

まとめ

seleniumを使うと通常のスクレピング手法では
取得できない情報も簡単に取得できるようになるので便利です。

データが取得できなくて困っている方はseleniumを試してみましょう。

君がエンジニアになるまであと26日

作者の情報

乙pyのHP:
http://www.otupy.net/

Youtube:
https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw

Twitter:
https://twitter.com/otupython

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2