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

Bibliothèques tierces Python Discussion :

[scrape.py] - Connexion à un forum sécurisé ?


Sujet :

Bibliothèques tierces Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 81
    Par défaut [scrape.py] - Connexion à un forum sécurisé ?
    Bonjour,

    Je viens de découvrir ce module pour python et viens de la tester.
    http://zesty.ca/python/scrape.py

    J'ai parcouru la documentation et j'arrive bien a télécharger des contenus html sur lesquels je peux exécuter des expressions régulières etc etc

    Mais

    Quelqu'un pourrait t-il m'expliquer comment l'utiliser pour accéder à des pages sécurisées d'un forum (dont je suis l'admin) et qui requiert une authentification avec user et mot de passe ?
    ?

    Par exemple, je voudrais récupérer automatiquement le nombre de membres inscrits ...

    Comment puis-je procéder ?
    Comment feriez-vous vous ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import sys
    sys.path.append("C:\\Documents and Settings\\Administrateur\\Bureau")
    from scrape import *
    from scrapemark import *
     
    scrapy = Session()
    scrapy.agent = "Agent user 1"
    scrapy.go("http://imacros.forum-libre.info/login.php")
    scrapy.setcookie
    scrapy.submit()
    print scrapy.content
    print scrapy.agent
     
    TypeError: submit() takes at least 2 arguments (1 given)

  2. #2
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 81
    Par défaut petit à petit ...
    Bon j'ai l'impression de progresser un peu
    Mais j'ai cruellement besoin de votre aide ...

    J'essaie en vain d'utiliser un cookie de firefox 3.5 pour accéder à la bonne page index de mon forum.
    En faisant ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    #! /usr/bin/env python
    import sys
    sys.path.append("C:\\Documents and Settings\\Administrateur\\Bureau\\Projets\_Classes")
    import scrape
     
    def sqlite2cookie(filename):
        from cStringIO import StringIO
        from pysqlite2 import dbapi2 as sqlite
        import cookielib 
        con = sqlite.connect(filename) 
        cur = con.cursor()
        cur.execute("SELECT host, path, isSecure, expiry, name, value from moz_cookies WHERE host LIKE 'imacros.forum-libre.info'") 
        ftstr = ["FALSE","TRUE"] 
        s = StringIO()
        s.write("""\
    # Netscape HTTP Cookie File
    # http://www.netscape.com/newsref/std/cookie_spec.html
    # This is a generated file!  Do not edit.
    """)
        for item in cur.fetchall():
            s.write("%s\t%s\t%s\t%s\t%s\t%s\t%s\n" % (
                item[0], ftstr[item[0].startswith('.')], item[1],
                ftstr[item[2]], item[3], item[4], item[5])) 
        s.seek(0) 
        cookie_jar = cookielib.MozillaCookieJar()
        cookie_jar._really_load(s, '', True, True)
        #print cookie_jar
        return cookie_jar
     
    mon_cookie = sqlite2cookie("C:\\Documents and Settings\\Administrateur\\Application Data\\Mozilla\\Firefox\\Profiles\\febeprof.stefane\\Copie de cookies.sqlite"
    A priori j'ai maintenant "mon_cookie".

    Mais comment utiliser "mon_cookie" ??

  3. #3
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 753
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 753
    Par défaut
    Salut,

    Comment puis-je procéder ?
    Le scrapping des pages web est une solution basée sur l'analyse des contenus retourné par les pages.
    Problème: le site évolue et le contenu des pages aussi... il faudra mettre à jour l'analyseur... Comme il s'agit de page HTML, il y a des balises qui permettent de faire cela "assez rapidement". Mais il faudrait déjà s'en rendre compte...

    Comment feriez-vous vous ?
    Si l'application est figée ou que vous voulez faire des mashups à partir d'un existant que vous ne pouvez/voulez pas modifer...
    Le Web Scraping est raisonnable - vous n'avez pas le choix.
    Si c'est "votre" site Web, vous pourriez construire une interface 'adhoc' pour récupérer les informations que vous désirez dans un format JSON, ou XML.
    i.e. faire une requete HTTP sécurisée à une URL bien définie qui vous retourne un document XML de la forme:
    <site>
    <membres_inscrits>123</membres_inscrits>
    </site>
    est quand même plus propre.


    A priori j'ai maintenant "mon_cookie".
    Mais comment utiliser "mon_cookie" ??
    Indépendamment des remarques précédentes, une lecture en diagonale de scrape.py suggèrerait d'essayer de le passer à la session via setcookie:
    ma_session.setcookie(le_cookie)

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 81
    Par défaut
    Merci pour votre intervention.

    Je suis admin du forum en question, mais il appartient à la plateforme forum-libre.info. Je ne peux donc pas me fabriquer des pages php adequat.

    J'ai quelques notions relatives aux webscaping - Je sais récupérer des pages html "lambda non sécurisées" en python et appliquer des regex avec urllib et urllib2. Et scrape.py, pour des pages html lambda est enfantin à utiliser.

    Ce qui m'inquiète c'est la gestion des referer et des cookies principalement.
    Dès qu'il ya un cookie de session je ne sais plus scraper.

    La meilleure solution, d'après moi, consisterait à récuperer une copie du cookie firefox - puisqu'avec firefox la connection au forum est automatique - mon programme python devrait l'être (sans repasser par une authentification).

    Je suis en train d'essayer setcookies

Discussions similaires

  1. Réponses: 6
    Dernier message: 03/07/2007, 19h29
  2. [FTP] connexion à un FTP sécurisé
    Par Zen_Fou dans le forum Langage
    Réponses: 1
    Dernier message: 24/04/2007, 10h28
  3. [Cookies] Connexion au forum
    Par mamiberkof dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 7
    Dernier message: 24/02/2007, 15h36
  4. [Connexion au forum] Problème de login
    Par Maxoo dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 25
    Dernier message: 23/05/2006, 14h06
  5. connexion sql server sécurisé
    Par liliprog dans le forum ASP.NET
    Réponses: 21
    Dernier message: 08/06/2005, 20h31

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