¿Cómo conseguir una página http mediante la mecanización de las galletas?

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

  •  19-09-2019
  •  | 
  •  

Pregunta

Hay un objeto Python mecanizar con una forma con casi todos los valores establecidos, pero aún no se ha presentado. Ahora quiero a buscar otra página utilizando cookies de mecanizar ejemplo, pero sin tener que volver a la página, formas y así sucesivamente, por ejemplo, de manera que los valores permanecen ajustados (sólo hay que conseguir cuerdas cuerpo de otra página, nada más). Entonces, ¿hay una manera de:

  1. Dile a mecanizar no para restablecer la página (tal vez, a través de UserAgentBase)?
  2. Haga tarro de galletas urllib2 uso de mecanizar? NB: urllib2.HTTPCookieProcessor(self.br._ua_handlers["_cookies"].cookiejar) no funciona
  3. Cualquier otra forma de pasar cookie para urllib?
¿Fue útil?

Solución

Y la respuesta correcta:

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

Otros consejos

Ni idea de si esto va a funcionar, pero ¿por qué no tratar deepcopying la instancia mecanizar, por ejemplo

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

Algunas ideas salvajes:

  • Obtener la segunda página antes de rellenar el formulario?
  • o ir a buscar la nueva página y luego goBack ()? Aunque tal vez eso va a restablecer los valores.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top