2009-10-03 7 views
3

거의 모든 값이 설정되었지만 아직 제출되지 않은 양식이있는 파이썬 기계화 객체가 있습니다. 이제 mechanize 인스턴스의 쿠키를 사용하여 다른 페이지를 가져오고 싶지만 페이지, 양식 등을 다시 설정하지 않아도됩니다. 그래서 값은 설정되어 있습니다 (단지 다른 페이지의 본문 문자열을 가져와야합니다.). 그래서 방법이 있습니다 :기계화 쿠키를 사용하여 http 페이지를 얻는 방법은 무엇입니까?

  1. UserAgentBase을 통해 페이지를 재설정하지 않도록 mechanize 하시겠습니까?
  2. urllib2 기계화 쿠키 항아리를 사용 하시겠습니까? 주의 : urllib2.HTTPCookieProcessor(self.br._ua_handlers["_cookies"].cookiejar)가 작동하지 않습니다.
  3. 다른 방법으로 urllib에 쿠키를 전달할 수 있습니까?

답변

5

그리고 정답 : 어쩌면

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.br._ua_handlers["_cookies"].cookiejar)) 
opener.open(imgurl) 
2

이,하지만 왜의 기계화 인스턴스를 deepcopying하지 마십시오 작동 여부를 아무 생각이 없다 예를 들어

from copy import deepcopy 
br = Browser() 
br.open("http://www.example.com/") 
# Make a copy for doing other stuff with 
br2 = deepcopy(br) 
# Do stuff with br2 
# Now do stuff with br 
+0

,하지만 첫 번째 수없는 – Fluffy

2

일부 야생 아이디어 :

  • 가에 채우기 전에 두 번째 페이지를 가져옵니다 형태?
  • 또는 새 페이지를 가져온 다음 goBack()을 가져 오시겠습니까? 아마 그 값을 다시 설정합니다.
+0

보다 효율적인 솔루션을 찾고있었습니다 불행하게도거야, 설마 개방 재설정 두 번째 – Fluffy

+0

을 시도하지 모든 것 :( – Fluffy

관련 문제