Need help with pycookiecheat?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

n8henrie
519 Stars 89 Forks MIT License 243 Commits 1 Opened issues

Description

Borrow cookies from your browser's authenticated session for use in Python scripts.

Services available

!
?

Need anything else?

Contributors list

# 70,620
Flask
curio
python3
cookies
193 commits
# 354,050
python3
cookies
Python
Chrome
9 commits
# 302,723
python3
cookies
Chrome
fish-pl...
7 commits
# 69,078
Anki
anki-ad...
Svelte
Rust
4 commits
# 57,345
python3
Chrome
Swift
Android
3 commits
# 11,773
Jupyter...
Common ...
Haskell
cookies
2 commits
# 559,217
python3
cookies
Python
Chrome
1 commit
# 72,379
Python
jupyter
python3
socks-p...
1 commit

pycookiecheat

master branch build
status

Borrow cookies from your browser's authenticated session for use in Python scripts.

  • Free software: MIT
  • Documentation: http://n8h.me/HufI1w

Installation

NB: Use

pip
and
python
instead of
pip3
and
python3
if you're still on Python 2 and using pycookiecheat < v0.4.0. pycookiecheat >= v0.4.0 requires Python 3.5+, and may soon go to 3.6+.
  • python3 -m pip install pycookiecheat

Installation notes regarding alternative keyrings on Linux

See #12. Chrome is now using a few different keyrings to store your

Chrome Safe Storage
password, instead of a hard-coded password. Pycookiecheat doesn't work with most of these so far, and to be honest my enthusiasm for adding support for ones I don't use is limited. However, users have contributed code that seems to work with some of the recent Ubuntu desktops. To get it working, you may have to
sudo apt-get
install libsecret-1-dev python-gi python3-gi
, and if you're installing into a virtualenv (highly recommended), you need to use the
--system-site-packages
flag to get access to the necessary libraries.

Alternatively, some users have suggested running Chrome with the

--password-store=basic
or
--use-mock-keychain
flags.

Development Setup

  1. git clone https://github.com/n8henrie/pycookiecheat.git
  2. cd pycookiecheat
  3. python3 -m venv .venv
  4. ./.venv/bin/python -m pip install -e .[dev]

Usage

from pycookiecheat import chrome_cookies
import requests

url = 'http://example.com/fake.html'

Uses Chrome's default cookies filepath by default

cookies = chrome_cookies(url) r = requests.get(url, cookies=cookies)

Use the

cookie_file
keyword-argument to specify a different filepath for the cookies-file:
chrome_cookies(url, cookie_file='/abspath/to/cookies')

Keep in mind that pycookiecheat defaults to looking for cookies for Chromium, not Google Chrome, so if you're using the latter, you'll need to manually specify something like

"/home/username/.config/google-chrome/Default/Cookies"
as your
cookie_file
.

Features

  • Returns decrypted cookies from Google Chrome on OSX or Linux.
  • Optionally outputs cookies to file (thanks to Muntashir Al-Islam!)

FAQ / Troubleshooting

How about Windows?

I don't use Windows or have a PC, so I won't be adding support myself. Feel free to make a PR :)

I get an installation error with the
cryptography
module on OS X

(pycookiecheat <v0.4.0)

If you're getting this error and using Homebrew, then you need to follow the instructions for Building cryptography on OS X and

export LDFLAGS="-L$(brew --prefix openssl)/lib" CFLAGS="-I$(brew --prefix
openssl)/include"
and try again.

I get an installation error with the
cryptography
module on Linux

Please check the official cryptography docs. On some systems (e.g. Ubuntu), you may need to do something like

sudo apt-get install build-essential libssl-dev
libffi-dev python-dev
prior to installing with
pip
.

How can I use pycookiecheat on KDE-based Linux distros?

On KDE, Chrome defaults to using KDE's own keyring, KWallet. For pycookiecheat to support KWallet the

dbus-python
package must be installed.

How do I install the dev branch with pip?

Buy Me a Coffee

☕️

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.