Précédent   Forum des professionnels en informatique > Dotnet > Langages > VB.NET
VB.NET Forum d'entraide sur la programmation Visual Basic .NET. Avant de poster -> FAQ VB.NET, Articles VB.NET, Sources VB.NET
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/02/2012, 00h02   #1
Membre régulier
 
Inscription : février 2006
Messages : 311
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : février 2006
Messages : 311
Points : 92
Points : 92
Par défaut Récuperer un fichierCSV

Bonjour,

je recherche une façon, si possible, de récuperer un fichier CSV qui est disponible sur une page web. Le problème est que je connais rien au JavaScript et que le fichier se cache est progammer de cette façon.

un exemple:
http://finance.lesaffaires.com/actio...A&cobrandid=90


sur ce site il y a "Exportation" et j'aimerais automatiser la commande dans mon code, je sais que ça se situe autour de

Code :
1
2
3
4
5
6
7
8
9
<script type="text/javascript" src="//financials.morningstar.com/fundamental/script/SRT_keyStuts.js"></script>
 
<div class="r_bodywrap">
    <div id="keystuts">
    </div>
</div>
<script type="text/javascript"> 
    SRT_keyStuts.init("keystuts", "XTSX:AQL", "fr-CA", "CAN");
</script>
quelqu'un peut m'aider SVP

merci
Mario Rousson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 08h10   #2
Membre Expert
 
Avatar de hunteshiva
 
Homme eric Maitre
Étudiant
Inscription : février 2010
Messages : 954
Détails du profil
Informations personnelles :
Nom : Homme eric Maitre
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : février 2010
Messages : 954
Points : 1 166
Points : 1 166
Bonjour,

Citation:
Le problème est que je connais rien au JavaScrip
et que le fichier se cache est progammer de cette façon
Je ne vois pas le rapport avec le vb.net
hunteshiva est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 17h21   #3
Membre confirmé
 
Homme François
Caféinomane
Inscription : septembre 2011
Messages : 132
Détails du profil
Informations personnelles :
Nom : Homme François
Localisation : France

Informations professionnelles :
Activité : Caféinomane

Informations forums :
Inscription : septembre 2011
Messages : 132
Points : 228
Points : 228
Bonsoir,

sur le site en question la fonction javascript qui assure l'export CSV est la suivante :

Code :
exportCsv:function(){var params=this.getPara();document.location=host+"/ajax/exportKR2CSV.html?"+params}
C'est donc une "simple" redirection vers la page /ajax/exportKR2CSV.html? . Le tout est de trouver les paramètres qui doivent se trouver après le "?", pour s'orienter vers les bonnes données...
franticfranz est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/02/2012, 17h22   #4
Membre régulier
 
Inscription : février 2006
Messages : 311
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : février 2006
Messages : 311
Points : 92
Points : 92
Ce que je veux dire, c'est que j'ai toujours utiliser la function "My.Computer.Network.DownloadFile" pour récuperer mes fichiers dans le passer et la je vois pas comment automatiser mes downloads car c'est écrit en Java. Alors je me demande comment faire pour ...si on veux, simuler un clic sur exportation.
Mario Rousson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 17h56   #5
Membre chevronné
 
Avatar de Sehnsucht
 
Homme Mickaël
Développeur .NET
Inscription : octobre 2008
Messages : 404
Détails du profil
Informations personnelles :
Nom : Homme Mickaël
Âge : 28
Localisation : France, Lot et Garonne (Aquitaine)

Informations professionnelles :
Activité : Développeur .NET

Informations forums :
Inscription : octobre 2008
Messages : 404
Points : 786
Points : 786
Bonsoir,

en partant d'un format d'url dans ce style Const queryFormat As String = "http://financials.morningstar.com/ajax/exportKR2CSV.html?t={0}&region={1}&culture={2}&cobrandid={3}" les {0} {1} ... étant des emplacements réservés dans lesquels il faudra insérer les informations de la société en question (dans ton exemple AQL, CAN, fr-CA, 90 ; à noter que dans mes tests seuls les deux premiers semblent vraiment obligatoires)

Comme je ne sais pas comment tu gères ton truc, je pars du principe que tu peux récupérer ces informations là, quand tu les as tu les assembles avec un
query = String.Format(queryFormat, title, region, culture, cobrandId)reste plus qu'à télécharger le fichier depuis cette Url (je recommande l'usage de WebClient plutôt que My.Computer.Network...)
Code :
1
2
3
4
5
Using client As New System.Net.WebClient()
    client.DownloadFile(query, title & ".csv") ' j'utilise le title comme nom de fichier
    'ou pour pour de l'asynchrone
    'client.DownloadFileAsync(New Uri(query), title & ".csv"))
End Using
Cordialement !
__________________
Nous sommes tous plus ou moins geek : ce qui est inutile nous est parfaitement indispensable ( © Celira )

À quelle heure dormez-vous ?
Sehnsucht est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/02/2012, 20h31   #6
Membre régulier
 
Inscription : février 2006
Messages : 311
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : février 2006
Messages : 311
Points : 92
Points : 92
Merci beaucoup de votre aide ça fonctionne à 100/100!

j'ai cependant un point d'intérogation.

ou as-tu trouver l'adresse ""http://financials.morningstar.com/ajax/exportKR2CSV.html?t={0}&region={1}&culture={2}&cobrandid={3}"

car lorsque je fait une recherche sur la page de code je ne la vois pas?

encore une fois merci
Mario Rousson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/02/2012, 22h50   #7
Membre chevronné
 
Avatar de Sehnsucht
 
Homme Mickaël
Développeur .NET
Inscription : octobre 2008
Messages : 404
Détails du profil
Informations personnelles :
Nom : Homme Mickaël
Âge : 28
Localisation : France, Lot et Garonne (Aquitaine)

Informations professionnelles :
Activité : Développeur .NET

Informations forums :
Inscription : octobre 2008
Messages : 404
Points : 786
Points : 786
Comme l'a dit franticfranz il suffit d'ouvrir le fichier javascript (http://financials.morningstar.com/fu...RT_keyStuts.js)
et en cherchant le nom de la fonction appelée (exportCSV, que l'on voit correspondre au lien Exportation
<a href="javascript:SRT_keyStuts.exportCsv()" class="large_button" style="width: 100px;"><span class="csv"/><div style="width: 75px;">Exportation</div></a>)

Ce fichier javascript contient trois choses qui nous interessent :
le code de la fonction exportCsv (voir post de franticfranz)
et celle-ci se réfère à host défini comme
var host="//financials.morningstar.com"et à var params=this.getPara() que l'on comprend facilement comme étant les paramètres passés en GET dans l'url

Ainsi en recollant les morceaux on sait que le lien est
http://financials.morningstar.com/aj...A&cobrandid=90 (pour l'exemple que tu donnais)

ne restait plus alors qu'à enlever les paramètres spécifiques à cette page (AGL, CAN, fr-CA et 90) et les remplacer par des "emplacements" pour le formatage (les {0} {1} ... de mon code, notation spécifique à .Net au passage)

Cordialement !
__________________
Nous sommes tous plus ou moins geek : ce qui est inutile nous est parfaitement indispensable ( © Celira )

À quelle heure dormez-vous ?
Sehnsucht est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/02/2012, 23h41   #8
Membre régulier
 
Inscription : février 2006
Messages : 311
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : février 2006
Messages : 311
Points : 92
Points : 92
merci je viens d'en apprendre une bonne qui va m'aider beaucoup

Mario
Mario Rousson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 19h38   #9
Membre régulier
 
Inscription : février 2006
Messages : 311
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : février 2006
Messages : 311
Points : 92
Points : 92
Bonjour à nouveau

Depuis trois jours j'essai de récupérer d'autres fichier et je n'y arrive pas

sur le même site ...à l'onglet "Données fiancière" je cherche à récupérer les exports

ce que je connais c'est l'adresse qui est
Code :
javascript:SRT_stocFund.LoadAComponent('sfcontent','XTSX:AQL','is','fr_ca', 'CAN','5','CAN',955);
Je crois que je l'adresse dans le Js est
Code :
http://financials.morningstar.com/ajax/ReportProcess4CSV.html?"+params+"&denominatorView="+denominatorView+"&number="+number
mais je n'arrive pas à agencer tout ça

merci de votre aide
Mario Rousson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2012, 23h29   #10
Membre régulier
 
Homme Nico
Inscription : mai 2010
Messages : 99
Détails du profil
Informations personnelles :
Nom : Homme Nico
Localisation : France

Informations professionnelles :
Secteur : Bâtiment

Informations forums :
Inscription : mai 2010
Messages : 99
Points : 86
Points : 86
Mario,

Poster tes questions les unes à la suite des autres ne t'aidera pas a obtenir une réponse, ca rend juste le sujet du poste plus confus.

Par ailleurs comme l'a très justement fait remarqué hunteshiva, tu parles de javascript pas de .net, donc ta question serai sans doute mieux dans Dev. Web/javascript...

+
Zebrette
zebrette est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 08/02/2012, 20h13   #11
Membre régulier
 
Inscription : février 2006
Messages : 311
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : février 2006
Messages : 311
Points : 92
Points : 92
oui je sais, mais le programme sur quoi je développe n'est pas Java, je cherche juste à savoir quel données je dois entré dans ma procédure VB.
Mario Rousson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2012, 12h18   #12
Membre Expert
 
Avatar de hunteshiva
 
Homme eric Maitre
Étudiant
Inscription : février 2010
Messages : 954
Détails du profil
Informations personnelles :
Nom : Homme eric Maitre
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : février 2010
Messages : 954
Points : 1 166
Points : 1 166
Bonjour,
Citation:
Envoyé par Mario Rousson Voir le message
je cherche juste à savoir quel données je dois entré dans ma procédure VB.
montre nous ton code,
on comprendra peut-être ce que tu a besoin.
hunteshiva est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2012, 19h52   #13
Membre régulier
 
Inscription : février 2006
Messages : 311
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : février 2006
Messages : 311
Points : 92
Points : 92
Désolé pour le temps de réponse

j'essai plusieurs variantes de code et j'ai de la difficulté à comprendre comment je dois formuler ma requète.

Code :
1
2
3
4
5
6
7
Const queryFormat2 As String = "http://financials.morningstar.com/ajax/ReportProcess4CSV.html?=sfcontent,{0},is,{1},CAN,5,{2},955"
 
Dim Title As String = "TSE:AQL"
        Dim Region As String = "CAN"
        Dim Culture As String = "Fr-CA"
 
Dim Query As String = String.Format(queryFormat2, Title, Culture, Region)
merci
Mario Rousson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2012, 22h08   #14
Membre régulier
 
Inscription : février 2006
Messages : 311
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : février 2006
Messages : 311
Points : 92
Points : 92
Coooool je l'ai euuuu!!!!


Je suis pas sur de tout comprendre mais je travail la dessus le les paramètres ressemble à quelque chose comme...

Code :
1
2
Const queryFormat2 As String = "http://financials.morningstar.com/ajax/ReportProcess4CSV.html?t={0}&region={1}&culture={2}&reportType={3}&period={4}&dataType={5}"
        Dim Query As String = String.Format(queryFormat2, Title, Region, Culture, reportType, Periode, DataType)
merci encore et bon code
Mario Rousson est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h42.


 
 
 
 
Partenaires

Hébergement Web