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 :

Récupération de fichiers .txt sur un site web


Sujet :

Réseau/Web Python

  1. #1
    Candidat au Club
    Récupération de fichiers .txt sur un site web
    Bonjour,

    j'ai fait un script qui permet de feuilleter plusieurs pages d'un site web et de copier ces données dans un fichier .txt

    Il y a environ une cinquantaine de page web. L'idée est de voir si des données sont modifiées sur les pages qui m'intéressent.

    Ce programme fonctionne à un détail près :

    Parfois les données que je récupère sont en anglais, alors que quand je visite la page (au même moment) je les vois en français.

    Ca me pose problème puisque ça crée des faux positifs lors de la comparaison ultérieure des fichiers.

    Et là, je n'ai même pas le début de l'ombre d'une piste...

    ci-dessous une partie du code (je précise que je débute en programmation), auriez-vous une idée svp ?

    Si vous avez des remarques elles sont également bienvenues

    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
    import urllib.request
    import time
    import os
    import smtplib
     
    list_Nucl = ["Na-24","Sc-46","Cr-51","Mn-52","Mn-54","Co-56","Mn-56","Ni-56","Co-57","Ni-57","Co-58","Co-60","Zn-65","Ga-66","Ga-67","Y-88","Y-90","Y-90m","Nb-92","Tc-99","Mo-99","Ru-103","Cd-109"
    ,"Ag-110m","Te-121","I-123","I-125","I-131","I-133","Cs-134","I-135","Cs-136","Cs-137","La-140","Ce-141","Eu-152","Eu-152m","Sm-153","Ce-144","Eu-154","Eu-156","Er-169","Tb-160","Yb-169","Tm-170","Yb-175"
    ,"Lu-177","Re-184","Re-186","Re-188","Ir-192","Tl-200","Pb-201","Tl-201","Tl-202","Pb-203"]
     
     
    for i in list_Nucl:
     
        with urllib.request.urlopen("http://www.nucleide.org/Laraweb/Results/"+ str(i)+".txt") as url:
     
            s = url.read()
     
            s = s.decode("latin-1") # décode les bytes (qui ne sont pas utf8 mais latin-1) afin d'avoir un fichier .txt plus lisible
     
     
            with open("all_data.txt", "a") as fichier: # mode d'écriture "a" pour écrire à la suite dans le fichier texte data.txt
                fichier.write(s)
     
     
    os.rename("all_data.txt", time.strftime("%Y%B%d%H%M%S_all_data.txt")) # renomme le fichier data obtenu avec date et heure minute seconde

  2. #2
    Membre habitué
    Salut.

    Il faudrait voir si il n'y a pas moyen de passer la langue dans l'url du site, sinon je pense qu'il faudra le faire via les headers, il y a des exemples sur la page python d'url.request, quant au nom du paramètre et la valeur à fournir, je dirai que c'est lang et fr, mais pas sûr du tout
    Le temps ronge l'amour comme l'acide.

  3. #3
    Candidat au Club
    d'accord, je vais essayer pour voir ce que je peux peux faire avec l'url.

    pour les headers, je crois que c'est ça la piste qu'il me manquait, je vais me renseigner.

    Merci à toi.

  4. #4
    Membre émérite
    je ne comprends pas trop là. Ce sont des fichiers texte statique ils restent en (en) même avec un navigateur français , tu dois plutôt avoir une extension dans ton navigateur qui traduit (après chargement) automatiquement
    $moi= ( !== ) ? : ;
    www.webstratege.fr

  5. #5
    Candidat au Club
    en fait j'ai parfois ce résultat dans le fichier .txt que je récupère :

    je met juste les premières lignes


    Nucléide ; Na-24

    Élément ; Sodium


    et parfois ce résultat :

    Nuclide ; Na-24

    Element ; Sodium


    c'est peut-être plus clair avec cet exemple ?

    merci à toi papajoker

  6. #6
    Membre habitué
    Chez moi, c'est en français

    Ce qu'il y a dans le header concernant la langue est :

    x-geoip_country_code: FR
    Après, est-ce que ça correspond à la langue d'affichage du txt, aucune idée.

    Je me demande si en fait les fichiers txt ne sont pas régénérés en fonction du formulaire de la page principale de ce site, car il y a possibilité de choisir 3 langues d'affichage.

    EDIT:

    C'est ça, si on valide un formulaire en cochant en, les valeurs seront régénérées en cache dans le fichier txt, idem pour le fr.
    Bref aucune solution à part de traduire toi-même àla réception du txt.
    Le temps ronge l'amour comme l'acide.

  7. #7
    Candidat au Club
    Ok, bon ben je me lance dans la traduction alors.


    Merci d'avoir pris le temps de me répondre

###raw>template_hook.ano_emploi###