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 :

excuter du code HTML


Sujet :

Réseau/Web Python

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 93
    Points
    93
    Par défaut excuter du code HTML
    Bonjour,

    Je voudrais savoir comment Python peut excuter du code HTML.
    Par exemple comment Python peut utiliser un lien HTML pour ouvrir une nouvelle page web. Merci à tous...

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 93
    Points
    93
    Par défaut
    En fait j'arrive à récupèrer les liens hypertextes d'1 page web mais comment puis-je ensuite utiliser ces liens pour ouvir une nouvelle page ?

  3. #3
    Membre chevronné
    Avatar de kedare
    Homme Profil pro
    Network Automation Engineer
    Inscrit en
    Juillet 2005
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Network Automation Engineer

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 548
    Points : 1 863
    Points
    1 863
    Par défaut
    c'est flou ce que tu dit .. ouvrir une page dans quel contexte ? tu parle d'une vue web wxPython par exemple ?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 93
    Points
    93
    Par défaut
    Voici un aperçu de ce que je cherche :

    Ceci ouvre la page pour afficher les tirages du mois de mars 2003

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    import urllib, urllib2
    data = urllib.urlencode([('type_recherche','type' ),('tirage','1'),('mois' , '3'),('annee','2003')])
    request = urllib2.Request("http://www.fdjeux.com/jeux/loto/loto_s_rechercher_res.php", data)
    f = urllib2.urlopen(request)
    html=f.read()
    Cependant pour afficher les tirages suivants , le code source comporte le lien
    <a href="javascript:go(2)">
    Comment puis-je utiliser ce lien pour afficher les pages web suivantes ?

  5. #5
    Membre chevronné
    Avatar de kedare
    Homme Profil pro
    Network Automation Engineer
    Inscrit en
    Juillet 2005
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Network Automation Engineer

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 548
    Points : 1 863
    Points
    1 863
    Par défaut
    bah .. mettre l'url a la place du code javascript ?

  6. #6
    Membre expérimenté Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Points : 1 728
    Points
    1 728
    Par défaut
    Cependant pour afficher les tirages suivants , le code source comporte le lien
    <a href="javascript:go(2)">
    Comment puis-je utiliser ce lien pour afficher les pages web suivantes ?
    Il te faut plonger dans le code javascript, recuperer la fonction go puis comprendre comment le script transforme le go(2) en url.

    Bon Hack

  7. #7
    Membre éclairé
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Points : 803
    Points
    803
    Par défaut
    Utilise mechanize.Browser pour simuler un clic sur le lien en question.

  8. #8
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Points : 1 658
    Points
    1 658
    Par défaut <a href="javascript:go(2)"> ??
    salut,

    je ne trouve aucune chaine <a href="javascript:go(2)"> dans la source de la page http://www.fdjeux.com/jeux/loto/loto...ercher_res.php

    qu'est ce que c'est que cette suite de caracteres , stp ?

  9. #9
    Membre chevronné
    Avatar de kedare
    Homme Profil pro
    Network Automation Engineer
    Inscrit en
    Juillet 2005
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Network Automation Engineer

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 548
    Points : 1 863
    Points
    1 863
    Par défaut
    go(i) est une fonction javascript , ca permet de naviger dans l'historique ...
    si i est negatif , c'est un retour arriere , si i est positif , c'est page suivante

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Points : 93
    Points
    93
    Par défaut
    Merci à tous pour vos réponses et désolé d'avoir tardé. Voici maintenant ma solution. Je réussis grâce au programme suivant à récupérer les tirages depuis 1997. Cependant bien que ce script fonctionne, je sais qu'il existe de meilleures solutions (surtout concernant la méthode find() ). Alors n'hésitez pas à suggérer des améliorations.

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    # -*- coding: iso-8859-1 -*-
     
    import urllib, urllib2,urlparse,datetime
     
    # Pour le début je choisis le 1er tirage de l'année 1997 :
    compteur=1
    annee=1997
     
    # Année actuelle :
    aujourd_hui=datetime.date.today()
    annee_actuelle=aujourd_hui.year
     
     
    while 1:
    	compteur+=1
    	var= 'type_recherche=type&tirage='+str(compteur)+'&annee='+str(annee)
    	url=urlparse.urlunsplit(('http','www.fdjeux.com','/jeux/loto/loto_s_rechercher_res.php',var,''))
    	request = urllib2.Request(url)
    	f = urllib2.urlopen(request)
    	html=f.read()
     
    	# Recherche du n° du tirage ( ! Il s'agit d'un numérotage depuis le début de l'année) :
    	beginTag0 = '>Tirage N&deg;'
    	endTag0   = "<"
    	startPos0 = html.find(beginTag0)
    	while startPos0 > -1:
    		endPos0 = html.find(endTag0,startPos0+1)
    		if endTag0 == -1:
    			break
    		else:
    			numero_du_tirage=int(html[startPos0+len(beginTag0):endPos0])
    			print "--- Tirage n°:",html[startPos0+len(beginTag0):endPos0]
    			startPos0= html.find(beginTag0,endPos0+1)
    	# Tous les tirages de l'année ont-ils été relevés ?
    	if  compteur>numero_du_tirage:
    		annee_tirage=date_du_tirage[-4:]
    		annee_tirage=int(annee_tirage)
    		if annee_tirage<annee_actuelle:
    			annee+=1
    			compteur=0
    		else:
    			break
     
    	# Recherche date du tirage :
    	beginTag1 = '<td width="343" align="left" class="txtblanc11g" bgcolor="#DB0032">&nbsp;&nbsp;'
    	endTag1   = "</td>"
    	startPos1 = html.find(beginTag1)
    	while startPos1 > -1:
    		endPos1 = html.find(endTag1,startPos1+1)
    		if endTag1 == -1:
    			break
    		else:
    		    date_du_tirage=html[startPos1+len(beginTag1):endPos1]			
     
    		    startPos1 = html.find(beginTag1,endPos1+1)
     
    	# Recherche des n° :
    	premier_tirage=[]
    	deuxieme_tirage=[]
    	beginTag = '<div class="numero encercle">'
    	endTag   = "</div>"
    	startPos = html.find(beginTag)
    	while startPos > -1:
    		endPos = html.find(endTag,startPos+1)
    		if endTag == -1:
    			break
    		else:
    			### 1er tirage :
    			if len(premier_tirage)<6:
    				premier_tirage.append(int(html[startPos+len(beginTag):endPos]))
    				startPos = html.find(beginTag,endPos+1)
    			else:
    			### 2èmer tirage :
    				deuxieme_tirage.append(int(html[startPos+len(beginTag):endPos]))
    				startPos = html.find(beginTag,endPos+1)
    			if len(premier_tirage)==6 and len(deuxieme_tirage)==6:
    				premier_tirage.sort()
    				deuxieme_tirage.sort()
    				if deuxieme_tirage==premier_tirage:
    					deuxieme_tirage=[]
    				else:
    					# --- INSCRIPTION DANS FICHIER ---
    					fichier1=open('tirages_loto.txt','a')
    					fichier1.write(date_du_tirage)
    					fichier1.write(' --- 1er tirage --- ') 
    					for n in premier_tirage:
    						fichier1.write(str(n))
    						fichier1.write('/')
    					fichier1.write(' --- 2ème tirage --- ')
    					for n in deuxieme_tirage:
    						fichier1.write(str(n))
    						fichier1.write('/')
    					fichier1.write('\n')
    					fichier1.close()

  11. #11
    Membre éclairé
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Points : 803
    Points
    803
    Par défaut
    Pour faire la recherche des tags, ça aurait pas été plus simple d'utiliser BeautifulSoup?

Discussions similaires

  1. GpxTrackMap Exécuter un code HTML dans un script
    Par Tleconte dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/01/2015, 11h37
  2. Exécuter un code PHP à partir d'un clique sur un menu HTML
    Par jospinkapwa dans le forum Langage
    Réponses: 7
    Dernier message: 18/03/2011, 07h41
  3. exécuter le code html du bloc note
    Par ouzzin dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 16/12/2009, 13h13
  4. Problème d'exécution de code HTML (parse error)
    Par dimitri13 dans le forum Langage
    Réponses: 6
    Dernier message: 30/09/2009, 16h53
  5. composant builder4 pour afficher du code html
    Par BranRuz dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/09/2002, 11h35

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