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 :

Extraction d'information d'un site WEB


Sujet :

Réseau/Web Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Extraction d'information d'un site WEB
    Bonjour à tous,

    En gros, je cherche à écrire un script en python qui me permette d'extraire des informations d'un site web.
    Que je m'explique, j'ai réussi à me connecter avec l'URL au site et j'ai donné les informations qu'il me manquait pour récupérer les données dont j'ai besoin.
    Mais après plus rien la réponse du site est vide.
    Voici le code que j'ai écrit (désoler pour le manque de commentaire).
    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
     
    import urllib
    import urllib2
     
    class Connexion(object):
    	def __init__(self):
    		self.url = "http://re.jrc.ec.europa.eu/pvgis/apps4/DRcalc.php" #URL du site
     
    	def encodageDonnees(self,valeurs):
    		values = {'lat': '48.857','lon' : '2.352'} #données exemple de latitude et de longitude
    		self.donneesComplementaire = urllib.urlencode(values)
     
    	def RequeteComplete(self):
    		self.encodageDonnees("")
    		try:
    			req = urllib2.Request(self.url,self.donneesComplementaire)#Requete
    		except IOError:
    			print('erreur')
    			raise
    		reponse = urllib2.urlopen(req)#ouverture de la communication
    		print(reponse)#ecriture du contenue de la page web
     
     
    serveur = Connexion()
    serveur.RequeteComplete()
    Si quelqu'un peu m’expliquer le pourquoi je n'obtiens rien du tout, et peut être comment faire, ce serait très gentil.

  2. #2
    Invité
    Invité(e)
    Par défaut
    http://scrapy.org/ est un framework en python pour faire du scraping. Pensez à vérifier avec votre partenaire qu'il vous a donné les autorisations nécessaires pour crawler son site, sinon cela pourrait s'apparenter à du vol de données ou une tentative d'attaque par requêtes en rafale (Ddos ?).

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 277
    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 277
    Points : 36 762
    Points
    36 762
    Par défaut
    Salut,

    Citation Envoyé par C.Max1898 Voir le message
    Si quelqu'un peu m’expliquer le pourquoi je n'obtiens rien du tout, et peut être comment faire, ce serait très gentil.

    Dans un premier temps, pas la peine d'écrire un script, la console Python suffit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    >>> from urllib2 import Request, urlopen
    >>> from urllib import urlencode
    >>> URL = "http://re.jrc.ec.europa.eu/pvgis/apps4/DRcalc.php"
    >>> data = urlencode({'lat': '48.857','lon' : '2.352'})
    >>> request = Request(URL, data)
    >>> result = urlopen(request)
    >>> urlopen(request)
    >>> result = urlopen(request)
    >>> result.code
    200
    >>> result.read()
    ''
    Ca fonctionne puisque le serveur répond.

    Essayons autre chose:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> request = Request(URL)
    >>> result = urlopen(request)
    >>> result.code
    200
    >>> result.read()
    "You must give the latitude value with the argument 'lat'\n"
    >>>
    Faisons ce qu'il dit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    >>> data = urlencode({'lat': '48.857'})
    >>> request = Request(URL+'?'+data)
    >>> result = urlopen(request)
    >>> result.code
    200
    >>> result.read()
    "You must give the longitude value with the argument 'lon'\n"
    >>>
    Vous notez la différence entre Request(URL+'?'+data) et Request(URL, data)?
    Allez farfouiller dans la documentation de Request pour essayer de comprendre.

    A vous de trouver les informations à expédier au serveur pour récupérer les informations que vous souhaitez...

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

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup pour les réponses.
    Je suis aussi allé questionner l'administrateur, qui m'a donné quelque information sur le fonctionnement du site.
    Je pense qu'avec toutes les données en ma possession, je devrais arriver à faire cette extraction de données.
    Merci encore à tous.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Bonjour
    le message date un peu mais je pense que tu peux parser le contenu de la page avec Beautiful soup
    Je n'ai jamais utilisé mais j'y ai entendu de bonne chose.

    http://www.crummy.com/software/BeautifulSoup/

    a+

Discussions similaires

  1. [Toutes versions] Récupérer une information d'un site web en automatique . aïe
    Par alucard_xs dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/06/2014, 17h54
  2. Récupérer information d'un site web
    Par juliensmarties dans le forum C#
    Réponses: 10
    Dernier message: 27/07/2012, 16h01
  3. Réponses: 0
    Dernier message: 30/03/2012, 16h08
  4. Collecter des informations sur des sites web.
    Par Ubiquité dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 25/01/2011, 17h35
  5. Récupérer des informations sur un site web
    Par JnewB dans le forum Langage
    Réponses: 11
    Dernier message: 08/04/2007, 19h44

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