PythonでSeleniumを利用してcookieを取得する方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonでSeleniumを利用してcookieを取得する方法について現役エンジニアが解説しています。cookieとはブラウザにあるサイトごとにデータを保存して置ける領域のことです。seleniumとは処理をテキストで記述することで自動化する事を目的として開発されたツールになります。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

PythonでSeleniumを利用してcookieを取得する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PythonでSeleniumを利用してcookieを取得する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

  1. cookieとは
  2. Seleniumとは
  3. Seleniumを利用してcookieを取得する方法
  4. 実際に書いてみよう
  5. まとめ

 

cookieとは

cookieのざっくりイメージは、ブラザで行った操作やアクセスしたサイトを記憶しておく機能だという認識です。

利点としては、ショッピングサイトや各種サイトへのログイン時、一々アカウントや、パスワードを再度打ち込まなくてもアクセス出来る事や、数タイプ打つだけで以前のページURLを補完してくれたりしてくれます。

しかし、そのせいで、セキュリティやプライバシーについて問題視される場合もでてきます。

それでもWEBブラウザの快適な使用感はcookie技術に依る所が大きいと考えられます。

[PR] Pythonで挫折しない学習方法を動画で公開中

Seleniumとは

seleniumは人間がブラウザをキーボードとマウスを使って手動で操作する事を記憶したり、テキストで記述することで自動化する事を目的として開発されたツールになります。

ブラウザのフロントサイト(User Interface部分)を実際リンクやチェックボタンを操作して所望の操作結果を得れるかといのは、人が行ってました。しかし現在の機器の機能向上により、その操作テストに膨大なコストがかかる事が問題になってきたのです。それを解決する目的の為にseleniumは開発されました。

Seleniumを利用してcookieを取得する方法

seleniumdモジュールのwebdriverを呼び出して、ブラウザをpython上で起動します。その後cookieを得るコマンドdriver.get_cookies()を実行すると、簡便にcookieを入手できます。

 

実際に書いてみよう

>>> import selenium
>>> from selenium import webdriver
>>> driver = webdriver.Chrome('C:\chromedriver_win32\chromedriver.exe')

DevTools listening on ws://127.0.0.1:52843/devtools/browser/bf2493e8-e8f3-4327-bbb4-e32d49c1a354

>>> driver.get('https://www.google.co.jp')

>>> driver.get_cookies()
[{'domain': 'www.google.co.jp', 'expiry': 1586335760, 'httpOnly': False, 'name': 'UULE', 'path': '/', 'secure': False, 'value': 'a+cm9sZToxIHByb2R1Y2VyOjEyIHByb3ZlbmFuY2U6NiB0aW1lc3RhbXA6MTU4NjI0OTM2MDAzNjAwMCBsYXRsbmd7bGF0aXR1ZGVfZTc6MTM3MjQ3ODg1IGxvbmdpdHVkZV9lNzoxMDA1ODQyNTMwfSByYWRpdXM6NDI3ODA='}, {'domain': '.google.co.jp', 'expiry': 1588841359, 'httpOnly': False, 'name': '1P_JAR', 'path': '/', 'secure': True, 'value': '2020-4-7-8'}, {'domain': '.google.co.jp', 'expiry': 1602060558.946378, 'httpOnly': True, 'name': 'NID', 'path': '/', 'secure': True, 'value': '201=xmM_5TCdhsLbsOG_y4AtLKLDyP9e9nFv2siJ2KzlX1tsPf1Jl4PF9ZrjgMQT67Cy7jv83lYN_OpeGXyL2upwBMn_au97INU3hk7aFUhvMrZLC-9uvL20ZV-WVU2x6_pnfsuHhYeTAixugAt_DhDOzaR5gcnhouJYGXTC0Gm6fyM'}]

まとめ

手短に説明しましたが、この説明だけでもseleniumで色々な事ができるだろうなという好奇心がでてきますね。

ネットにも無数に情報が落ちていますし、仕事でもプライベートでも使用できるととてもパワフルな道具としてあなたのお役に立つはずです。習得しないという手は無いです。

監修してくれたメンター

坂下雄一(さかしたゆういち)

フリーランスのエンジニア、飲食業経営。

エンジニア経歴:EDAの自動化環境、テスト環境構築。組み込みマイコンプログラミング(車載、インフラ系):医療用DB、登録自動化、患者管理システム等

飲食店経営:ラオスはルアンパバーン、フィリピンのセブで寿司屋、ラーメン屋を経営。
現在バンコク在住。コワーキングスペースのハシゴが職場環境。ムエタイとタイ語とゴルフを絶賛習得中。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。