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

  • Force python mechanize / urllib2 nur A Anfragen verwenden?
  • Python Mechanize hält mich 'response_seek_wrapper', wenn ich versuche zu verwenden .open
  • Python Auto Fill mit Mechanize
  • Ist es möglich, einen robusteren HTML-Parser an Python-Mechanismen anzuschließen?
  • Python Mechanize Formular auswählen FormNotFoundError
  • Python Mechanize Vermeidung von Verbindung: Schließen
  • Pandas: Neue Spalte in df mit zufälligen Ganzzahlen aus Reichweite erstellen
  • Wie benutzt man einen Dezimalbereich () Schrittwert?
  • Pandas min () der ausgewählten Zeile und Spalten
  • Schreibzeilen in Spalten in Datei in Python
  • Schreiben Sie, um Zeilen mit einer bestimmten Anzahl von Spalten aufzulisten
  • (Python) Stuck auf Skipping-Bereich Werte für die Summe einer Randzahl-Liste
  • 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.