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

  • Wie man auf Typ = "Button" über Python Mechanisieren klicken
  • Python Mechanize hält mich 'response_seek_wrapper', wenn ich versuche zu verwenden .open
  • Python Mechanize Formular auswählen FormNotFoundError
  • HTTP-Antwort mit Mechanize in Python abrufen und einfangen
  • Ist es möglich, einen robusteren HTML-Parser an Python-Mechanismen anzuschließen?
  • Python mechanisieren, nach Link von url und was ist der nr Parameter?
  • Pythons Mechanisierungs-Proxy-Unterstützung
  • Mechanisieren wählen aus Dropdown
  • 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.