Question

Il y a un objet mécaniser Python avec une forme avec presque toutes les valeurs fixées, mais pas encore soumis. Maintenant, je veux aller chercher une autre page en utilisant les cookies de mécaniser par exemple, mais sans remettre à zéro la page, les formes et ainsi de suite, par exemple de sorte que les valeurs sont mémorisées (j'ai juste besoin d'obtenir la chaîne de corps d'une autre page, rien d'autre). Alors, est-il possible de:

  1. Dites-mécaniser pas réinitialiser la page (peut-être, par le biais UserAgentBase)?
  2. le pot à biscuits de urllib2 utilisation mécaniser? NB: urllib2.HTTPCookieProcessor(self.br._ua_handlers["_cookies"].cookiejar) ne fonctionne pas
  3. Toute autre façon de passer cookie urllib?
Était-ce utile?

La solution

Et la bonne réponse:

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

Autres conseils

Aucune idée si cela fonctionnera, mais pourquoi ne pas essayer deepcopying l'instance de mécaniser, par exemple

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

Quelques idées sauvages:

  • Fetch la deuxième page avant de remplir le formulaire?
  • Ou chercher la nouvelle page puis goBack ()? Bien que peut-être cela réinitialiser les valeurs.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top