New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

browsercookie

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

browsercookie

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.

  • 0.7.9
  • PyPI
  • Socket score

Maintainers
1

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

.. sourcecode:: bash

    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:

.. sourcecode:: bash

    pip install pysqlite

Usage

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

.. sourcecode:: python

>>> 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:

.. sourcecode:: python

>>> 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:

.. sourcecode:: python

>>> 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:

.. sourcecode:: python

>>> 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 <http://docs.python-requests.org/en/latest/>__, this time loading the Chrome cookies. Again make sure you are logged into Bitbucket in Chrome before running this:

.. sourcecode:: python

>>> 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:

.. sourcecode:: python

>>> 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 <https://bitbucket.org/richardpenman/browsercookie/issues/new>__ 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

  • Nathan Henrie for his example of how to decode the Chrome cookies <http://n8henrie.com/2013/11/use-chromes-cookies-for-easier-downloading-with-python-requests/>__
  • Graeme Robinson for his Chrome Windows patch

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc