기계화 쿠키를 사용하여 HTTP 페이지를 얻는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1513823

  •  19-09-2019
  •  | 
  •  

문제

거의 모든 값이 설정된 양식을 가진 파이썬 기계화 물체가 있지만 아직 제출되지 않았습니다. 이제 Mechanize 인스턴스의 쿠키를 사용하여 다른 페이지를 가져오고 싶지만 페이지, 양식 등을 재설정하지 않고 값이 유지되도록합니다 (다른 페이지의 바디 문자열을 가져와야합니다). 다음과 같은 방법이 있습니다.

  1. Mechanize에게 페이지를 재설정하지 말라고하십시오 (아마도 UserAgentBase)?
  2. 만들다 urllib2 Mechanize의 쿠키 항아리를 사용 하시겠습니까? NB : urllib2.HTTPCookieProcessor(self.br._ua_handlers["_cookies"].cookiejar) 작동하지 않습니다
  3. 쿠키를 전달하는 다른 방법 urllib?
도움이 되었습니까?

해결책

그리고 정답 :

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

다른 팁

이것이 작동하는지 모르겠지만 왜 기계화 인스턴스를 심화시켜 시도하지 않겠습니까?

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

몇 가지 거친 아이디어 :

  • 양식을 채우기 전에 두 번째 페이지를 가져 오나요?
  • 또는 새 페이지를 가져 와서 goback ()? 아마도 값을 재설정 할 수도 있습니다.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top