込み入ったWebスクレイピング

最近全然ITから遠ざかっているので、JavascriptかPythonでも触ろうと思った。
でも実利がないと触る気にならないので、何かWebから情報を拾ってきてDBに突っ込むことをやってみようと思い立った。
よってPython + Seleniumで、データを取ってくることをやろうと思う。

Seleniumは実際にWebブラウザを使ってデータを取ってくるからBeautifulSoupとかだと難しい認証画面を通った後の画面からデータを取ってくるということができる模様。
以前BeautifulSoupは使ったことがあったから、自分にとってNewなSeleniumにトライ。

PCが真新しいので、準備としてやったことは以下3点。
  1. Anacondaの新規インストール
  2. Anaconda Navigatorを起動して、Seleniumを探してApply
  3. ChromeDriverのコピー
特に注意することもない気がするのだけれど、ChromeDriverについてちょっとだけTips。
  • Chromeのバージョンにあったものをダウンロードする
    • 私の環境だとVersionは108だった。Chromeの設定-Chromeについて で確認
  • ChromeDriverは一つのexeなので、それをPython.exeがあるのと同じところにコピーする
    • 私の環境だとC:\Users\<ユーザー名>\anaconda3
で、Jupyter Notebookから以下のように実行すると、無事Chromeが立ち上がってくる。

from selenium import webdriver
browser = webdriver.Chrome()
browser.get('https://ldnsurf.com')




さて、どんな情報を引っ張ってみようかな。

本当はレンタルサーバーとかで動かせるものがよかったけれど、それだと、突っ込んだWebスクレイピングはできないので、手元のPCで動かす他ないのかなと思った。