Wie kann ich mechanize.Browser () Cookies speichern?

Wie könnte ich Pythons Modul mechanisieren (speziell mechanisieren.Browser ()), um seine aktuellen Cookies in einer menschenlesbaren Datei zu speichern? Auch, wie würde ich über das Hochladen dieses Cookies auf eine Webseite mit ihm gehen?

Vielen Dank

  • Sind Cookies in einem Mechanize Browser zwischen öffnen URLs gehalten?
  • Verwenden Sie Mechanisieren, um Formular ohne Kontrollturnier einzureichen
  • Pythons Mechanisierungs-Proxy-Unterstützung
  • Wie man auf Typ = "Button" über Python Mechanisieren klicken
  • Force python mechanize / urllib2 nur A Anfragen verwenden?
  • Python mechanisieren, nach Link von url und was ist der nr Parameter?
  • Zeilenanzahl in einer CSV-Datei
  • Schreiben Sie, um Zeilen mit einer bestimmten Anzahl von Spalten aufzulisten
  • (Python) Stuck auf Skipping-Bereich Werte für die Summe einer Randzahl-Liste
  • Generiere N positive ganze Zahlen innerhalb eines Bereichs, der bis zu einer Gesamtmenge in Python addiert
  • Schreibzeilen in Spalten in Datei in Python
  • Pandas min () der ausgewählten Zeile und Spalten
  • 3 Solutions collect form web for “Wie kann ich mechanize.Browser () Cookies speichern?”

    Deusdies, ich habe gerade einen Weg mit Reflece zu Mykola Kharechkos Post herausgefunden

    #to save cookie >>>cookiefile=open('cookie','w') >>>cookiestr='' >>>for c in br._ua_handlers['_cookies'].cookiejar: >>> cookiestr+=c.name+'='+c.value+';' >>>cookiefile.write(cookiestr) #binding this cookie to another Browser >>>while len(cookiestr)!=0: >>> br1.set_cookie(cookiestr) >>> cookiestr=cookiestr[cookiestr.find(';')+1:] >>>cookiefile.close() 

    Wenn du das Cookie für eine Web-Anforderung wie einen GET oder POST verwenden möchtest (was mechanize.Browser nicht unterstützt), kannst du die Anforderungsbibliothek und die Cookies wie folgt verwenden

     import mechanize, requests br = mechanize.Browser() br.open (url) # assuming first form is a login form br.select_form (nr=0) br.form['login'] = login br.form['password'] = password br.submit() # if successful we have some cookies now cookies = br._ua_handlers['_cookies'].cookiejar # convert cookies into a dict usable by requests cookie_dict = {} for c in cookies: cookie_dict[c.name] = c.value # make a request r = requests.get(anotherUrl, cookies=cookie_dict) 

    Der CookieJar hat mehrere Unterklassen, die verwendet werden können, um Cookies in einer Datei zu speichern. Für die Browser-Kompatibilität verwenden Sie MozillaCookieJar , für ein einfaches menschenlesbares Format mit LWPCookieJar , genau so (eine Authentifizierung via HTTP POST):

     import urllib import cookielib import mechanize params = {'login': 'mylogin', 'passwd': 'mypasswd'} data = urllib.urlencode(params) br = mechanize.Browser() cj = mechanize.LWPCookieJar("cookies.txt") br.set_cookiejar(cj) response = br.open("http://example.net/login", data) cj.save() 
    Python ist die beste Programmiersprache der Welt.