Extraction d'un site web

Salut,

A la demande d'un ami, je prépare une macro pour extraire les données du site Web https://www.coteur.com/pronostic-basket.php. J'ai écrit le code suivant :

With Sheets("TEMP").QueryTables.Add(Connection:="URL;https://www.coteur.com/pronostic-basket.php", Destination:=Sheets("TEMP").Range("$A$1"))
    .AdjustColumnWidth = False
    .Refresh BackgroundQuery:=False
End With

Il marche bien sauf pour les valeurs de la colonne " Cotes " qui ne ressortent pas dans l'extraction.

Est ce que vous auriez un truc pour les récupérer avec le site de pari correspondant (celui qui s'affiche quand on clique sur la valeur de la cote sur la page Web) ?

Merci d'avance.

Manu

Bonjour Manu,

C'est normal ! on ne les voit ni avec PowerQuery, ni avec l'affichage du code source. Et pour le coup ils ont fait très fort car on ne les trouvent pas non plus dans le script.

La façon de les afficher fait appel à de l'ajax (asynchronous JavaScript and XML) pour rechercher les cotes dans le serveur et les afficher. Le serveur envoie alors les données au format json. C'est souvent utilisé avec jQuery ce qui est bien le cas ici (https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js). Et donc les cotes sont générées par cette fonction :

function(){
$.getJSON("includes/ajax/PronosticDataNew.php"+param,function(json){for(var j=0;j<towatch.length;j++){towatch[j].updated=0;}var newsub=[];for(var i=0;i<json.watch.length;i++){var founded=0;for(var j=0;j<towatch.length;j++){if(towatch[j].renc_id==json.watch[i].renc_id&&towatch[j].type==json.watch[i].type&&towatch[j].handicap==json.watch[i].handicap&&towatch[j].choix==json.watch[i].choix){founded=1;towatch[j].updated=1;var ndata=$(myTable.cell('#'+json.data[i].DT_RowId,4).data());ndata.children().removeClass('blink_text');json.data[i][4]=ndata.prop('outerHTML');}}if(founded==0){json.watch[i].typecote=invertType(json.watch[i].type,json.watch[i].handicap);json.watch[i].updated=1;newsub.push(json.watch[i]);towatch.push(json.watch[i]);}}myTable.clear();myTable.rows.add(json.data).draw();i=towatch.length;var toremove=[];while(i--){if(towatch[i].updated==0){toremove.push(towatch.splice(i,1)[0]);}}if(newsub.length>0)socket.emit('subscribe',newsub);if(toremove.length>0)socket.emit('remove',toremove);betSlip.highlightodd();});};

Voilà pour la technique.

Coteur.com protège donc bien ses données.

La seule façon de récupérer est de faire manuellement un copier/coller.

Je pense que je vais étudier de près ceci qui renferme les cotes :

https://www.coteur.com/includes/ajax/PronosticDataNew.php

Voici ce que contient le fichier json ... il n'a pas non plus les cotes !

10coteur-com.xlsm (67.48 Ko)

Merci de t'être pris la tête là dessus. On fera un copier coller...

Manu

Rechercher des sujets similaires à "extraction site web"