Python

Seleniumでブラウザのcookieを出力保存・読み込みする方法

この記事は約3分で読めます。

 

 

Webスクレイピングや自動テストでよく使用されるSeleniumですが、ログイン情報などをCookieとして保存したい場合も多いでしょう。この記事ではSeleniumでブラウザのCookieを出力・保存、そして読み込む方法を解説します。

 

前提条件

 

seleniumの基本的な使い方について以下の記事で解説しています

 

関連記事:SeleniumでAmazonの売上ランキングをスクレイピングするサンプルコード

関連記事:SeleniumでのCookieの取得や外部からの読み込み方法について

 

 

SeleniumでのCookieの出力と保存

 

まずは、ブラウザでアクセスした後のCookieをPythonのコードで取得してみましょう。

 

from selenium import webdriver 
import json 
from selenium.webdriver.chrome.options import Options 


driver=webdriver.Chrome() 
driver.get("https://twitter.com/home?lang=ja") 
cookies = driver.get_cookies() 

# cookieの確認
print(cookies)

# cookieの出力保存
with open('cookietest.json', 'w', newline='') as outputdata: 
    json.dump(cookies, outputdata) 
    print('send cookie') 

 

外部に保存したCookieをSeleniumに読み込む

 

次に、保存したCookieを読み込んで使う方法です。

 

from selenium import webdriver
import json
from selenium.webdriver.chrome.options import Options


driver=webdriver.Chrome()
URL = "https://twitter.com/home?lang=ja"

# 対象ページへアクセス(1回目) 
driver.get(URL) 

# cookieの読み込み
json_open = open('cookie.txt', 'r') 
cookies = json.load(json_open) 

for cookie in cookies: 
    tmp = {"name": cookie["name"], "value": cookie["value"]} 
    driver.add_cookie(tmp) 

# 対象ページへアクセス(2回目) 
driver.get(URL)

 

注意点

 

Cookieを読み込む前に、そのCookieが有効なURLに先にアクセスしておく必要があります。そうしないと、Cookieは設定されません。

 

まとめ

 

この記事では、Seleniumを使用してブラウザのCookieを出力保存・読み込みする基本的な方法について解説しました。この方法を利用すれば、ログイン情報などを維持しつつ複数のセッションで作業することが可能になります。

 

Forbidden - Stack Exchange


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

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