Outils pour utilisateurs

Outils du site


nsi:tds:flux_rss

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
nsi:tds:flux_rss [2024/04/24 22:19] goupillwikinsi:tds:flux_rss [2024/04/29 14:18] (Version actuelle) goupillwiki
Ligne 105: Ligne 105:
     # dans le flux, l'enfant [0] est toujours un noeud <title>     # dans le flux, l'enfant [0] est toujours un noeud <title>
     # donc titlenode est un noeud <title>     # donc titlenode est un noeud <title>
-    textnode = child0.childNodes[0]+    textnode = titlenode.childNodes[0]
     # titlenode a un unique enfant, c'est un noeud de texte     # titlenode a un unique enfant, c'est un noeud de texte
     # textnode est donc le noeud contenant le texte du noeud <item> titlenode     # textnode est donc le noeud contenant le texte du noeud <item> titlenode
Ligne 126: Ligne 126:
 import socket       # pour création socket TCP-IP import socket       # pour création socket TCP-IP
 import ssl          # gestion chiffrement pages https import ssl          # gestion chiffrement pages https
 +import urllib.request as req
 import xml.dom.minidom as xml import xml.dom.minidom as xml
- 
-HTTP_VERSION = 1.0 
-CRLF = "\r\n\r\n" 
- 
-# Dans certains cas on utilise une ressource. Il faut demander au système d'exploitation 
-# de nous donner accès à cette ressource puis il faut lui dire quand on libère cette ressource. 
-# ex : ouverture / fermeture de fichier ; ouverture / fermeture de connexion 
-# avec le mot clé with, on crée un bloc qui réserve la ressource 
-# puis la libère dès qu'on sort du bloc. 
  
 def get_xml(url): def get_xml(url):
Ligne 143: Ligne 135:
     """     """
     context = ssl.SSLContext()     context = ssl.SSLContext()
-    return req.urlopen(url, context=context).read().decode('utf8')+    with req.urlopen(url, context=context) as reponse: 
 +        return reponse.read().decode('utf8')
          
 def get_titles(texte_xml): def get_titles(texte_xml):
Ligne 155: Ligne 148:
 </code> </code>
  
-<WRAP important>En ligne 22 j'ai changé l'ancien ''context = ssl.create_default_context()'' qui ne fonctionnait plus pour ''ssl.SSLContext()''. Ce n'est pas idéal car ce choix fait qu'on ne vérifie pas le certificat ssl du site. Cela nous évite les erreurs mais est potentiellement dangereux (les certificats sont là pour la sécurité). Toutefois, dans le cadre de ce TP on échange aucune donnée sensible et on ne risque rien.</WRAP>+<WRAP important>En ligne 14 j'ai changé l'ancien ''context = ssl.create_default_context()'' qui ne fonctionnait plus pour ''ssl.SSLContext()''. Ce n'est pas idéal car ce choix fait qu'on ne vérifie pas le certificat ssl du site. Cela nous évite les erreurs mais est potentiellement dangereux (les certificats sont là pour la sécurité). Toutefois, dans le cadre de ce TP on échange aucune donnée sensible et on ne risque rien.</WRAP>
  
 <code python linenums> <code python linenums>
Ligne 165: Ligne 158:
 url = 'https://www.francetvinfo.fr/titres.rss' url = 'https://www.francetvinfo.fr/titres.rss'
    
-xml = get_xml(hostname, url)+xml = get_xml(url)
 titles = get_titles(xml) titles = get_titles(xml)
  
nsi/tds/flux_rss.1713989989.txt.gz · Dernière modification : de goupillwiki