¿Cómo conseguir una página http mediante la mecanización de las galletas?
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:
- Dile a mecanizar no para restablecer la página (tal vez, a través de
UserAgentBase
)? - Haga tarro de galletas
urllib2
uso de mecanizar? NB:urllib2.HTTPCookieProcessor(self.br._ua_handlers["_cookies"].cookiejar)
no funciona - Cualquier otra forma de pasar cookie para
urllib
?
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