IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau/Web Python Discussion :

Utilisé un proxy HTTP et activer les cookies avec python


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 7
    Par défaut Utilisé un proxy HTTP et activer les cookies avec python
    Bonsoir chère communauté!
    Tout d'abord, je me présente, parce que je suis nouveau parmis vous

    Je suis Sekler et je code en python depuis peu (1mois), j'ai l'ambition de faire un robot web qui irai chercher des informations sur le web.
    Pour le moment, je me débrouille par trop mal, et google m'a bien aidé.

    Mais là, je bloque .

    Voici mon problème:

    Pour mon crawler, je souhaite utiliser un proxy, ici, pas de problème:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    proxy_info = { 'host' : '203.162.163.78', 'port' : 80}
    # On créé un handler pour le proxy:
    proxy_support = urllib2.ProxyHandler({"http" : "http://%(host)s:%(port)d" % proxy_info})
    # On créé un opener utilisant ce handler:
    opener = urllib2.build_opener(proxy_support)
    # Puis on installe cet opener comme opener par défaut du module urllib2.
    urllib2.install_opener(opener)
    J'ai trouvé ceci sur le net.

    Aussi, le site où j'essaye de me connecter requiert les cookies.

    Je faisais donc ceci (avant de prendre un proxy):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    # On active le support des cookies pour urllib2
    cookiejar = cookielib.CookieJar()
    urlOpener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookiejar))
    Ensuite, pour ouvrir mes pages web, je faisais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    request = urllib2.Request("http://www.lesiteenquestion.net")
    url = urlOpener.open(request)
    Mais le problème est que je ne sais pas comment faire pour utiliser les cookies ET le proxy.

    J'ai essayé des tonnes de truc mais rien à faire

    Donc voilà, si vous avez de quoi m'aider, ça serait vraiment sympa. Merci beaucoup.

  2. #2
    Membre émérite Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Par défaut
    Tu dois chaîner tes 2 handlers lors de l'appel à build_opener.

  3. #3
    Membre émérite Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Par défaut
    Tu écris un robot dans quel but ?

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 7
    Par défaut
    Citation Envoyé par mchk0123 Voir le message
    Tu dois chaîner tes 2 handlers lors de l'appel à build_opener.

    Excuse moi, je ne vois pas ce que vous voulez dire par là, pouvez-vous me copier/coller un code d'exemple svp?

    J'écris ce bot dans le but de fournir des statistiques un site.
    Il ira se connecter sur le site et stockera des informations comme:

    Nombre de membres a chaque heure.
    Evolution des statistiques, etc.

    Mais à la base, c'est surtout pour "m'entrainer" à la création de bot, voir le fonctionnement, etc.

  5. #5
    Membre émérite Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Par défaut
    Documentation Python :

    build_opener( [handler, ...])

    Return an OpenerDirector instance, which chains the handlers in the order given.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    build_opener(proxy_support, cookie_processor)

  6. #6
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062

  7. #7
    Membre à l'essai
    Inscrit en
    Juillet 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 7
    Par défaut
    Merci pour votre aide.

    J'ai une dernière question, y a-t-il un historique sous python?

    Je m'explique:

    Imaginons que je fasse:

    urlOpener.open('http://www.site1.com/page1.php')
    urlOpener.open('http://www.site1.com/page2.php')

    Est-ce que quand j'arriverai sur http://www.site1.com/page2.php, l'historique de ma page précédente sera: http://www.site1.com/page1.php ?

    Par exemple, pour un history.back en javascript.

    Merci.

Discussions similaires

  1. fopen() mais il me demande d'activer les cookies
    Par Khleo dans le forum Langage
    Réponses: 4
    Dernier message: 07/04/2011, 15h53
  2. Réponses: 0
    Dernier message: 18/11/2008, 19h06
  3. comment utiliser les cookies avec struts
    Par mima_mine dans le forum Struts 1
    Réponses: 3
    Dernier message: 04/09/2008, 07h44
  4. les cookies avec IE
    Par monforte dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/12/2007, 17h05
  5. Réponses: 9
    Dernier message: 18/05/2006, 14h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo