파이썬의 모듈을 기계화 (특히 mechanize.Browser())하여 현재 쿠키를 사람이 읽을 수있는 파일로 저장하도록하려면 어떻게해야합니까? 또한 쿠키를 웹 페이지에 업로드하는 방법은 무엇입니까?mechanize.Browser() 쿠키를 파일에 저장하는 방법은 무엇입니까?
감사
파이썬의 모듈을 기계화 (특히 mechanize.Browser())하여 현재 쿠키를 사람이 읽을 수있는 파일로 저장하도록하려면 어떻게해야합니까? 또한 쿠키를 웹 페이지에 업로드하는 방법은 무엇입니까?mechanize.Browser() 쿠키를 파일에 저장하는 방법은 무엇입니까?
감사
Deusdies, 방금 Mykola Kharechko의 post
#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()
CookieJar
파일에 쿠키를 저장하는 데 사용할 수있는 여러 하위 클래스가 있습니다에에 refrence와 방법을 알아 냈어. 브라우저 호환성 사용 MozillaCookieJar
를 들어, 간단한 사람이 읽을 수있는 형식 그냥이 같은 LWPCookieJar
로 (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()
저장을 위해'''ignore_discard = True, ignore_expires = True'''를 추가하는 편이 낫습니다. 그리고 재사용 쿠키 케이스에로드를 사용하십시오. – TerrenceSun
당신이 그런 GET 같은 웹 요청에 대한 쿠키를 사용하려면 http://wwwsearch.sourceforge.net/mechanize/doc.html :
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)
는 당신이 본 적있어 다음과 같이 또는 POST (mechanize.Browser 지원하지 않는)을, 당신은 요청 라이브러리와 쿠키를 사용할 수 있습니까? –