title: How to get cookies from web-browser with Python?
body: <p><strong>Context:</strong><br>
  <em>I am working on a backend access to an OpenID consumer (StackExchange in fact). If I am to provide all possible OpenID providers as an option to the user, then I'd have to simulate browser interaction to authenticate to each of these providers before I could submit the Open ID URL. However, I think I could cut this short by accessing the existing cookies of the user's web-browser, and requesting authentication to the consumer directly with the URL.</em></p>
  
  <p><strong>Problem:</strong><br>
  How to access the user's web-browser's cookies? I've seen very little information on how to do it with Python. This <a href="https://stackoverflow.com/questions/5537592/how-to-extract-firefox-session-cookie-python-language-preferred">previous question</a> partly answers the problem regarding Firefox, pointing especially to <a href="http://blog.mithis.net/archives/python/90-firefox3-cookies-in-python" rel="noreferrer">the code sample</a> her below. However, I would need to access cookies from the most common web browsers used on Linux, not just Firefox.</p>
  
  <pre><code>#! /usr/bin/env python
  # Protocol implementation for handling gsocmentors.com transactions
  # Author: Noah Fontes nfontes AT cynigram DOT com
  # License: MIT
  
  def sqlite2cookie(filename):
      from cStringIO import StringIO
      from pysqlite2 import dbapi2 as sqlite
  
      con = sqlite.connect(filename)
  
      cur = con.cursor()
      cur.execute("select host, path, isSecure, expiry, name, value from moz_cookies")
  
      ftstr = ["FALSE","TRUE"]
  
      s = StringIO()
      s.write("""\
  # Netscape HTTP Cookie File
  # http://www.netscape.com/newsref/std/cookie_spec.html
  # This is a generated file!  Do not edit.
  """)
      for item in cur.fetchall():
          s.write("%s\t%s\t%s\t%s\t%s\t%s\t%s\n" % (
              item[0], ftstr[item[0].startswith('.')], item[1],
              ftstr[item[2]], item[3], item[4], item[5]))
  
      s.seek(0)
  
      cookie_jar = cookielib.MozillaCookieJar()
      cookie_jar._really_load(s, '', True, True)
      return cookie_jar
  </code></pre>
  
  <p><strong>Question: Does Python provide a module that can facilitate cookie extraction from web-browsers?</strong> Otherwise, how should I adapt the above code to draw cookies from other browsers, like Chromium etc.?</p>
  
  <p><em>PS: Or am I looking at the initial problem (i.e. authenticate to the OpenID provider) the wrong way? (I feel I am just replacing a problem by another.)</em></p>