Skip to main content

Loads cookies from your browser into a cookiejar object so can download with urllib and other libraries the same content you see in the web browser.

Project description

The browsercookie module loads cookies used by your web browser into a cookiejar object. This can be useful if you want to use python to download the same content you see in the web browser without needing to login.

Install

pip install browsercookie

On Windows the builtin sqlite module will raise an error when loading the FireFox database. An updated version of sqlite can be installed with:

pip install pysqlite

Usage

Here is a hack to extract the title from a webpage:

>>> import re
>>> get_title = lambda html: re.findall('<title>(.*?)</title>', html, flags=re.DOTALL)[0].strip()

And here is the webpage title when downloaded normally:

>>> import urllib2
>>> url = 'https://bitbucket.org/'
>>> public_html = urllib2.urlopen(url).read()
>>> get_title(public_html)
'Git and Mercurial code management for teams'

Now let’s try with browsercookie - make sure you are logged into Bitbucket in Firefox before trying this example:

>>> import browsercookie
>>> cj = browsercookie.firefox()
>>> opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
>>> login_html = opener.open(url).read()
>>> get_title(login_html)
'richardpenman / home &mdash; Bitbucket'

Differences with Python3:

>>> import urllib.request
>>> public_html = urllib.request.urlopen(url).read()
>>> opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))

You should see your own username here, meaning the module successfully loaded the cookies from Firefox.

Here is an alternative example with requests, this time loading the Chrome cookies. Again make sure you are logged into Bitbucket in Chrome before running this:

>>> import requests
>>> cj = browsercookie.chrome()
>>> r = requests.get(url, cookies=cj)
>>> get_title(r.content)
'richardpenman / home &mdash; Bitbucket'

Alternatively if you don’t know/care which browser has the cookies you want then all available browser cookies can be loaded:

>>> cj = browsercookie.load()
>>> r = requests.get(url, cookies=cj)
>>> get_title(r.content)
'richardpenman / home &mdash; Bitbucket'

Contribute

So far the following platforms are supported:

  • Chrome: Linux, OSX, Windows

  • Firefox: Linux, OSX, Windows

However I only tested on a single version of each browser and so am not sure if the cookie sqlite format changes location or format in earlier/later versions. If you experience a problem please open an issue which includes details of the browser version and operating system. Also patches to support other browsers are very welcome, particularly for Internet Explorer on Windows.

Acknowledgements

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

browsercookie-0.7.9.tar.gz (18.5 kB view details)

Uploaded Source

Built Distribution

browsercookie-0.7.9-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

Details for the file browsercookie-0.7.9.tar.gz.

File metadata

  • Download URL: browsercookie-0.7.9.tar.gz
  • Upload date:
  • Size: 18.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.9.6

File hashes

Hashes for browsercookie-0.7.9.tar.gz
Algorithm Hash digest
SHA256 6537515409affd84040d66b7744d9f96d3dd4a89320349df7764c5d7d123d446
MD5 72e1ae2a319240573bbc4870c97b7f53
BLAKE2b-256 77fb246517bd29d5706f0243b5113aa7e987b2caa1b705c7e7ebf8fc975d2c9c

See more details on using hashes here.

File details

Details for the file browsercookie-0.7.9-py3-none-any.whl.

File metadata

File hashes

Hashes for browsercookie-0.7.9-py3-none-any.whl
Algorithm Hash digest
SHA256 2bb0d9e644740a156f2f61964c329d3a0c87cf394103df5ab150f8ce2f93977e
MD5 c46c5efb3655f13aa113a063c493359c
BLAKE2b-256 b1e7f9b621e3031d036fd8c8acdaf645ca031baffa7829f29b58d0c340111846

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page