Ce forum est en partie financé par l’affichage de publicités. Merci de désactiver votre bloqueur de publicités pour nous permettre de continuer à fournir ce service.

demande MAJ projet KENO

Discussion dans 'Développement Mac' créé par symbol, 6 Novembre 2018.

  1. symbol

    symbol Membre confirmé

    Inscrit:
    13 Octobre 2004
    Messages:
    363
    J'aime reçus:
    12
    @ecatomb


    Dans le script du KENO que tu m'as fait y'a quelque stemps, y'a une ligne qui extrait le N° du dernier tirage posté par la FDJ (sur le site de la FDJ).

    Une mise a jour de la page html à la FDJ a été faites.

    Depuis la ligne qui extrait ce N° de tirage ne fonctionne plus.
    Du coup le script reste en carafe, et ne se lance plus. Il se met en attente 10 minutes (600 sec) sans fin, puisque c'est ce N° qui permet de savori si un nouveau tirage est disponible.

    Serait possible de mettre a jour la partie du code qui gère cela ?

    Merci


    Code (Text):
    ############################################################################################
    ########################### TEST POUR SAVOIR SI NOUVEAU TIRAGE A LA FDJ ####################
    ## Si fichier NUMTIRAGE.txt n'existe pas,  alors création du fichier NUMTIRAGE.txt  avec N° du dernier tirage + lancement direct du script
    ## Si fichier NUMTIRAGE.txt existe, alors comparaison des N° de tirage (Si Nouveau tirage supérieur ->  sauvegarde du N° du dernier tirage dans NUMTIRAGE.txt  + lancement script)
    ############################################################################################
    ############################################################################################
    repertoire="/Users/xxx/Desktop/KENODATA"

    function download_keno () {
      ## créé le fichier keno.html avec la page actuelle du site, sinon on garde l'ancienne
      curl -s 'https://www.fdj.fr/jeux/jeux-de-tirage/keno/resultats' -o "${repertoire}"/keno_tmp -D "${repertoire}"/keno_code_retour
      ## Gestion des erreurs 404 et autres ...
      code_http=$(head -1 "${repertoire}"/keno_code_retour | cut -d " " -f2)
      ## https://fr.wikipedia.org/wiki/Liste_des_codes_HTTP
      if [ "${code_http}" == "200" ]
      then
        iconv -f 'iso-8859-15' -t 'UTF-8' "${repertoire}"/keno_tmp > "${repertoire}"/keno.html
        rm -f "${repertoire}"/keno_code_retour "${repertoire}"/keno_tmp
      fi
    }

    function attente_nouveau_tirage () {
      tirage_keno=$(grep "listDayTirage" "${repertoire}"/keno.html | cut -d'"' -f2)
      if [ -f "${repertoire}"/NUMTIRAGE.txt ]
      then
        echo le fichier existe
        tirage_fichier=$(cat "${repertoire}"/NUMTIRAGE.txt)

        ## tant que nouveau tirage identique/inférieur à celui du fichier
        while [ ${tirage_keno} -le ${tirage_fichier} ]
        do
          echo Pause de 10min
          sleep 600

          download_keno
          tirage_keno=$(grep "listDayTirage" "${repertoire}"/keno.html | cut -d'"' -f2)
        done
      fi

      ## créé le fichier NUMTIRAGE.txt avec le N° du dernier tirage
      echo ${tirage_keno} >  "${repertoire}"/NUMTIRAGE.txt
    }

    download_keno
    attente_nouveau_tirage

    ## Extraction du résultat à partir de "${repertoire}"/keno.html
    echo Extraction du résultat
     
  2. ecatomb

    ecatomb Membre d’élite
    Club MacG

    Inscrit:
    21 Septembre 2016
    Messages:
    1 452
    J'aime reçus:
    237
    Remplace le
    Code (Text):
    tirage_keno=$(grep "listDayTirage" "${repertoire}"/keno.html | cut -d'"' -f2)
    Par l'un des deux suivants (le deuxième est sans doute le mieux à utiliser) :
    Code (Text):
    tirage_keno=$(grep "Dernier tirage" "${repertoire}"/keno.html | sed "s/.*Dernier tirage//" | cut -d'"' -f2)
    tirage_keno=$(grep "Dernier tirage" "${repertoire}"/keno.html | sed 's/.*<option value="\([0-9]*\)">Dernier tirage<\/option>.*/\1/')
     
     
  3. symbol

    symbol Membre confirmé

    Inscrit:
    13 Octobre 2004
    Messages:
    363
    J'aime reçus:
    12
    Je fais pour les changements, je verrais au tirage de 13h45 si tous se passe comme prévu.

    Merci :)


    MAJ : je viens de modifier (j'ai effacé tous les fichiers en local et sur le serveur).
    - j'ai remplacé les 2 occurrences
    Code (Text):
    tirage_keno=$(grep "listDayTirage" "${repertoire}"/keno.html | cut -d'"' -f2)
    par

    Code (Text):
     tirage_keno=$(grep "Dernier tirage" "${repertoire}"/keno.html | sed 's/.*<option value="\([0-9]*\)">Dernier tirage<\/option>.*/\1/')
    J'ai lancé le script, il va correctement chercher le tirage. Si je le relance une 2e fois aussitot, il se met en mode attente 10 min (normal).
    Je vois si a 13h45 il reste en mode attente 10 minutes , ou s'il detecte bien le nouveau tirage.
     
    #3 symbol, 7 Novembre 2018
    Dernière édition: 7 Novembre 2018
  4. symbol

    symbol Membre confirmé

    Inscrit:
    13 Octobre 2004
    Messages:
    363
    J'aime reçus:
    12
    @ecatomb

    A première vue, tout est rentré dans l'ordre.

    Merci :coucou:
     
    ecatomb aime ça.
  5. symbol

    symbol Membre confirmé

    Inscrit:
    13 Octobre 2004
    Messages:
    363
    J'aime reçus:
    12
    @ecatomb

    Le site FDJ a été mis plus a jour que ce que je pensais.

    La modification réalisée hier concernant le numéro de tirage est ok, parfait.


    Cependant, la FDJ a changée aussi le code html qui affiche les 20 N° du tirage + date
    Du coup, le script ne ramene plus la date du tirage + les 20 N°

    Ca se présente sous cette forme dans mon forum
    [​IMG]


    Je poste ci-dessous les commandes qui tu m'avais donné pour récupérer : date tirage + les 20 N°



    Code (Text):
    ############################################################################################
    ############## RECUPERATION DES PRONOS POSTES DANS FORUM + TIRAGE A LA FDJ  ############
    ############################################################################################

    # va chercher les pronos des joueurs dans le forum. les pseudos doicent etre precedé de "@" -> @pseudo 01-02-03-04-05-06-07-08-09-10    ou   @pseudo 01 02 03 04 05 06 07 08 09 10)
    curl -s 'http://kenopronos.free-bb.eu/sujet-612110-792147-98059-1-Postez-Vos-Pronos-Pour-Le-Prochain-Tirage-Ici.html'  | sed 's/                    <div class="reply[0-9][0-9][0-9][0-9][0-9][0-9][0-9]">//' | sed 's/<\/div>//' | sed 's/<br \/>//' | grep -E '@' | grep -Ev '#|}|{'| sed $'s/\r$//'  >  /Users/xxx/Desktop/KENODATA/mygames.txt

    # Change directory to the folder containing the script
    cd "/Users/xxx/Desktop/KENODATA/"

    # If no games file is found at the assigned filepath, try in the same folder as the script
    [ ! -f "${gamesFile}" ] && gamesFile="/Users/xxx/Desktop/KENODATA/mygames.txt"

    # affichage date du tirage
    affichagedate=$(curl -s 'https://www.fdj.fr/jeux/jeux-de-tirage/keno/resultats' | iconv -f 'iso-8859-15' -t 'UTF-8' | grep -i '<div class="keno_numeros mb10 fl sprite-jeux-bg_resultat_keno">' | sed $'s/.*<h3 class="dateTirage mt20 fl">\(.*\)<span>&nbsp;-&nbsp;\(.*\)<\/span><\/h3>.*sprite-jeux-bg_resultat_keno">\(.*\)<\/div><br class="sp".*/\\1 - \\2 :\\\n\\3/' | sed 's/<p class="keno_num">/ /g' | sed 's/ \([0-9]\)<\/p>/ 0\1/g' | head -1)

    # Si aucun N° indiqué, le script va chercher les N° du tirage chez la FDJ
    if [ "${winningNumbers}" = "" ] ; then
    winningNumbers=$(curl -s 'https://www.fdj.fr/jeux/jeux-de-tirage/keno/resultats' | iconv -f 'iso-8859-15' -t 'UTF-8' | grep -i '<div class="keno_numeros mb10 fl sprite-jeux-bg_resultat_keno">' | sed 's/.*sprite-jeux-bg_resultat_keno">\(.*\)<\/div><br class="sp".*/\1/' | sed 's/<p class="keno_num">/ /g' | sed 's/ \([0-9]\)<\/p>/ 0\1/g' | sed 's/<\/p>//g' | sed 's/^ //g' | head -1)
    fi

    ### -------------------------------------------------------------------------------------------------------------------------------------------------
     
    Si tu le souhaite et a le temps, serait-il possible d'adapter la ligne qui s'occupe de cette tache ?

    Merci
     
  6. ecatomb

    ecatomb Membre d’élite
    Club MacG

    Inscrit:
    21 Septembre 2016
    Messages:
    1 452
    J'aime reçus:
    237
    Je me mets ça dans un coin. Rappelle moi ça dimanche si je ne t'ai pas répondu d'ici-là.
     
  7. symbol

    symbol Membre confirmé

    Inscrit:
    13 Octobre 2004
    Messages:
    363
    J'aime reçus:
    12
  8. zeltron54

    zeltron54 Membre d’élite

    Inscrit:
    29 Mars 2008
    Messages:
    1 083
    J'aime reçus:
    152
    @symbol

    Je viens de tester les lignes existantes, et elles fonctionnent. j'ai bien en retour la date et les 20 numéros. ?
     
  9. symbol

    symbol Membre confirmé

    Inscrit:
    13 Octobre 2004
    Messages:
    363
    J'aime reçus:
    12
    arrghh ! Tu as raison :)

    Bizarrre hier ca marchait plus.

    Merci de l'info.
     
  10. symbol

    symbol Membre confirmé

    Inscrit:
    13 Octobre 2004
    Messages:
    363
    J'aime reçus:
    12
    MAJ :

    finalement ce ne fonctionne pas. J'ai le tirage de ce midi au lieu de tirage du soir :(
     
  11. ecatomb

    ecatomb Membre d’élite
    Club MacG

    Inscrit:
    21 Septembre 2016
    Messages:
    1 452
    J'aime reçus:
    237
    Pas de numéro retourné par la commande habituelle sur la version du site suivante :
    Capture d’écran 2018-11-11 à 13.15.51.png

    Il doit donc s'agir d'une nouvelle version du site qu'ils sont en train de mettre en place.
     
  12. zeltron54

    zeltron54 Membre d’élite

    Inscrit:
    29 Mars 2008
    Messages:
    1 083
    J'aime reçus:
    152
    @ecatomb

    Peut être en cours ! car là ! j'ai bien le retour

    Code (Text):
    Last login: Sun Nov 11 13:22:31 on ttys000
    Imac:~ XXXXXXX$ curl -s 'https://www.fdj.fr/jeux/jeux-de-tirage/keno/resultats' | iconv -f 'iso-8859-15' -t 'UTF-8' | grep -i '<div class="keno_numeros mb10 fl sprite-jeux-bg_resultat_keno">' | sed 's/.*sprite-jeux-bg_resultat_keno">\(.*\)<\/div><br class="sp".*/\1/' | sed 's/<p class="keno_num">/ /g' | sed 's/ \([0-9]\)<\/p>/ 0\1/g' | sed 's/<\/p>//g' | sed 's/^ //g' | head -1
    01 02 06 07 18 22 26 31 33 36 37 38 39 40 50 52 56 60 63 65
    Imac:~ jXXXXXXXX$
     
  13. ecatomb

    ecatomb Membre d’élite
    Club MacG

    Inscrit:
    21 Septembre 2016
    Messages:
    1 452
    J'aime reçus:
    237
    A l'instant, cela remarche et la page qui s'affiche sur le site est à nouveau l'ancienne version. ;)
     
  14. zeltron54

    zeltron54 Membre d’élite

    Inscrit:
    29 Mars 2008
    Messages:
    1 083
    J'aime reçus:
    152
    Hi ! Hi ! Hi ! tous mes tests tombent au moment où c'est bon...
    Il y a ceux qu'on le pot ... et les autres :)
     
  15. ecatomb

    ecatomb Membre d’élite
    Club MacG

    Inscrit:
    21 Septembre 2016
    Messages:
    1 452
    J'aime reçus:
    237
    En tout cas, j'ai réussi à avoir le moment posant problème. On a donc l'explication du souci :D
     
  16. ecatomb

    ecatomb Membre d’élite
    Club MacG

    Inscrit:
    21 Septembre 2016
    Messages:
    1 452
    J'aime reçus:
    237
    De temps en temps, "https://www.fdj.fr/jeux/jeux-de-tirage/keno/resultats" doit renvoyer vers le "https://www2.fdj.fr/jeux-de-tirage/keno-gagnant-a-vie/resultats" dont l'affichage est différent.

    La version suivante se base sur le deuxième site pour récupérer toutes les informations (date + numéro) en une seule fois.
    Regarde si le résultat te convient.

    Code (Text):
    date_tirage=$(curl -s 'https://www2.fdj.fr/jeux-de-tirage/keno-gagnant-a-vie/resultats' | iconv -f 'iso-8859-15' -t 'UTF-8' | awk 'BEGIN {
        date = ""
        matin_soir = ""
        numero = ""
      }
      /^.*<h1 class="drawing-infos_title">.*/ {
        field_start=index($0,"infos_title")+13
        field_end=index($0,"</h1>")
        date=substr($0,field_start,field_end-field_start)
      }
      /^ *Tirage du midi.*/ {
        matin_soir="Midi"
      }
      /^ *Tirage du soir.*/ {
        matin_soir="Soir"
      }
      /^.*<span class="numbers-item_num">.*/ {
        field_start=index($0,"item_num")+10
        field_end=index($0,"</span>")
        numero=numero""sprintf("%02d ",substr($0,field_start,field_end-field_start))
      }
      /^.*<div class="numbers-bonus">.*/ {
        printf "%s - %s : %s\n",date,matin_soir,numero
        numero = ""
      }' | tail -2)
    affichagedate=$(echo $date_tirage | sed 's/ : .*//')
    winningNumbers=$(echo $date_tirage | sed 's/.*: //')

    echo $affichagedate
    echo $winningNumbers
     
     
  17. symbol

    symbol Membre confirmé

    Inscrit:
    13 Octobre 2004
    Messages:
    363
    J'aime reçus:
    12
    @ecatomb

    Je réponds un peu en retard.

    Coup de chance, tu es tombé pile poil sur le problème :dead:

    Je ne sais pas plus comment faire.
    Si je met le nouveau code, ca ne marchera pas avec l'ancienne page FDJ, si je garde l'ancien code, ca ne marchera pas avec la nouvelle :bigtears:

    Pour le moment, j'attends que la FDJ bascule sur sa nouvelle page (surement lundi), puis que je changerai le code.


    Merci de ton aide. :up:
     
Chargement...

iOccasion - Achetez un produit Apple d'occasion

refurb Apple