[Résolu][Calc] Récupération d'itinéraire depuis le Web
Modérateur : Vilains modOOs
Règles du forum
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
- Membre OOrganisé
- Messages : 51
- Inscription : 15 avr. 2014 13:57
[Résolu][Calc] Récupération d'itinéraire depuis le Web
Bonjour,
Est-il possible à partir d'une URL (par exemple h**p://maps.google.fr/maps?f=d&saddr=lyon&daddr=nancy) de récupérer les données de la page en question ?
Cette URL renvoie la page suivante : Les données qui m'intéressent étant celles encadrées en rouge, si il possible de ne récupérer que celles là, c'est la cerise sur le gâteau ! Sinon récupérons la page entière et je me débrouillerai après
Pour info, l'adresse renvoyée après le chargement de l'URL est la suivante :
h**ps://www.google.fr/maps/dir/Lyon/Nancy/@47.2 ... d48.692054
Les villes de départ et d'arrivée étant amenées à changer, je ne peux connaître que l'URL de départ.
En effet l'adresse renvoyée après le chargement ne peux pas être connue car la partie après la ville destination (ici Nancy) est variable...
Merci de votre aide !
Est-il possible à partir d'une URL (par exemple h**p://maps.google.fr/maps?f=d&saddr=lyon&daddr=nancy) de récupérer les données de la page en question ?
Cette URL renvoie la page suivante : Les données qui m'intéressent étant celles encadrées en rouge, si il possible de ne récupérer que celles là, c'est la cerise sur le gâteau ! Sinon récupérons la page entière et je me débrouillerai après
Pour info, l'adresse renvoyée après le chargement de l'URL est la suivante :
h**ps://www.google.fr/maps/dir/Lyon/Nancy/@47.2 ... d48.692054
Les villes de départ et d'arrivée étant amenées à changer, je ne peux connaître que l'URL de départ.
En effet l'adresse renvoyée après le chargement ne peux pas être connue car la partie après la ville destination (ici Nancy) est variable...
Merci de votre aide !
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par agraeth le 11 janv. 2018 15:59, modifié 1 fois.
LibreOffice 4.3.7.2.lin04 (non modifiable, version officielle employeur - poste fixe) sous Windows 7 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro
-
- IdOOle de la suite
- Messages : 25184
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc] Récupération de données Web
Comme d'habitude, il faut lire un peu ce qui se poste ici avant.
Même problématique passée la semaine dernière : https://forum.openoffice.org/fr/forum/v ... =8&t=56659
Même problématique passée la semaine dernière : https://forum.openoffice.org/fr/forum/v ... =8&t=56659
-
- Membre OOrganisé
- Messages : 51
- Inscription : 15 avr. 2014 13:57
Re: [Calc] Récupération de données Web
Salut Dude,
Il me semble que le fil indiqué traite de l'extraction d'un fichier disponible depuis une page web.
Je cherche plutôt à récupérer des données affichées sur une page web...
Toujours est-il que j'ai voulu test le dernier code de JP :
Il me donne une erreur sur la ligne : oInputStream = oSFA.openFileRead(URL)
Il me semble que le fil indiqué traite de l'extraction d'un fichier disponible depuis une page web.
Je cherche plutôt à récupérer des données affichées sur une page web...
Toujours est-il que j'ai voulu test le dernier code de JP :
Code : Tout sélectionner
Sub RecupFichier()
URL = "http://s599720764.onlinehome.fr/cartocistes/export_csv.php?idRegion=23"
oSFA = CreateUnoService("com.sun.star.ucb.SimpleFileAccess")
oInputStream = oSFA.openFileRead(URL)
oSFA.writeFile("f:\temp\MonFic.csv",oInputStream)
End Sub
Erreur d'exécution BASIC.
Une exception s'est produite :
Type: com.sun.star.ucb.InteractiveNetworkResolveNameException
Message: .
Dernière modification par agraeth le 12 janv. 2018 07:55, modifié 1 fois.
LibreOffice 4.3.7.2.lin04 (non modifiable, version officielle employeur - poste fixe) sous Windows 7 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro
-
- IdOOle de la suite
- Messages : 25184
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc] Récupération de données Web
C'est la même chose : des données sont dans les deux cas transférées.agraeth a écrit :Il me semble que le fil indiqué traite de l'extraction d'un fichier disponible depuis une page web.
Je cherche plutôt à récupérer des données affichées sur une page web...
Qu'elles soient interprétées par un navigateur ou copiées dans un fichier, cela revient au même.
Je ne reproduis pas. Le code fonctionne comme attendu sous AOO 4.1.5 :agraeth a écrit :Il me donne une erreur sur la ligne : oInputStream = oSFA.openFileRead(URL)
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
-
- PassiOOnné
- Messages : 629
- Inscription : 09 août 2017 22:15
Re: [Calc] Récupération d'itinéraire depuis le Web
hello,
en utilisant le service Open source routing machine et son api (voir ici ) et l' extension L.O, O.O EasyDev (voir ici ) tu peux récupérer les infos d'un itinéraire en format json. Après soit tu décodes le json avec du code basic ou tu utilises une macro en python car il y a un parser json.
Voici un exemple de code pour récupérer ton trajet qui était en openstreetmap :
et voici ce que l'on obtient :
Ami calmant, J.P
en utilisant le service Open source routing machine et son api (voir ici ) et l' extension L.O, O.O EasyDev (voir ici ) tu peux récupérer les infos d'un itinéraire en format json. Après soit tu décodes le json avec du code basic ou tu utilises une macro en python car il y a un parser json.
Voici un exemple de code pour récupérer ton trajet qui était en openstreetmap :
Code : Tout sélectionner
Sub RecupItineraire()
util = createUnoService("org.universolibre.EasyDev")
data = createUnoStruct("org.universolibre.EasyDev.Requests")
data.Method = "get"
data.Url = convertToURL("http://router.project-osrm.org/route/v1/driving/2.00,46.00;3.00,47.00")
args = Array( _
Array("verify", True) _
)
data.Args = args
response1 = util.requests(data)
util.msgbox(response1.Text())
End Sub
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.6.2.1 et OpenOffice 4.1.15 sous windows 11
LibreOffice 24.2.0 et OpenOffice 4.1.15 sous Ubuntu 20.04
LibreOffice 24.2.0 et OpenOffice 4.1.15 sous Ubuntu 20.04
-
- Membre OOrganisé
- Messages : 51
- Inscription : 15 avr. 2014 13:57
Re: [Calc] Récupération d'itinéraire depuis le Web
Bonjour,
J'ai édité mon message précédent : la solution que j'avais indiqué ne fonctionnait finalement absolument pas
Du coup, suppression pur et simple du paragraphe...
Dude, y a-t-il un module ou une extension à installer ou charger pour que cela fonctionne ?
JP, ta solution semble intéressante, par contre je ne connais absolument pas Python...
J'ai installé l'extension EasyDevLib, et testé ton code, mais il me donne une erreur sur la dernière ligne : util.msgbox(response1.Text())
J'ai édité mon message précédent : la solution que j'avais indiqué ne fonctionnait finalement absolument pas
Du coup, suppression pur et simple du paragraphe...
Dude, y a-t-il un module ou une extension à installer ou charger pour que cela fonctionne ?
JP, ta solution semble intéressante, par contre je ne connais absolument pas Python...
J'ai installé l'extension EasyDevLib, et testé ton code, mais il me donne une erreur sur la dernière ligne : util.msgbox(response1.Text())
Erreur d'exécution BASIC.
Variable d'objet non définie
Dernière modification par agraeth le 12 janv. 2018 08:27, modifié 1 fois.
LibreOffice 4.3.7.2.lin04 (non modifiable, version officielle employeur - poste fixe) sous Windows 7 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro
-
- IdOOle de la suite
- Messages : 25184
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc] Récupération d'itinéraire depuis le Web
Le service com.sun.star.ucb.SimpleFileAccess est interne au Basic.
Le code fonctionne avec l'URL que tu donnes :
Le code fonctionne avec l'URL que tu donnes :
Dans ta signature, il y a écrit :LibreOffice 4.3.7.2 (non modifiable, version officielle du bureau) sous Windows 7 Pro
Je dirais plutôt qu'il y a une mise à jour à faire vers une version stable.agraeth a écrit :Dude, y a-t-il un module ou une extension à installer ou charger pour que cela fonctionne ?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
-
- Membre OOrganisé
- Messages : 51
- Inscription : 15 avr. 2014 13:57
Re: [Calc] Récupération d'itinéraire depuis le Web
Alors là, si j'avais la main, ce serait fait dans la demi seconde !Je dirais plutôt qu'il y a une mise à jour à faire vers une version stable.
LibreOffice 4.3.7.2.lin04 (non modifiable, version officielle employeur - poste fixe) sous Windows 7 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro
-
- RespOOnsable forum
- Messages : 12230
- Inscription : 08 nov. 2005 16:23
- Localisation : Caen, France
Re: [Calc] Récupération d'itinéraire depuis le Web
Évitez de faire ça : sans quoi la logique de lecture ne sera plus respectée.agraeth a écrit :J'ai édité mon message précédent : la solution que j'avais indiqué ne fonctionnait finalement absolument pas
Du coup, suppression pur et simple du paragraphe...
Vous ne devez modifier un message que s'il n'est pas encore suivi par un autre.
Veillez aussi à ne pas poster plusieurs messages à la suite.
Cela alourdit inutilement la lecture du fil.
-
- IdOOle de la suite
- Messages : 25184
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Calc] Récupération d'itinéraire depuis le Web
Si ton service informatique a du mal à se bouger, tu peux toujours installer une version portable :agraeth a écrit :Alors là, si j'avais la main, ce serait fait dans la demi seconde !
h**ps://portableapps.com/apps/office
Rappelez aussi que garder des versions anciennes, c'est laissé la porte ouverte aux failles de sécurité.
-
- Membre OOrganisé
- Messages : 51
- Inscription : 15 avr. 2014 13:57
Re: [Calc] Récupération d'itinéraire depuis le Web
Dude,
J'ai testé en passant par la version portable, mais sans plus de succès...
J'ai toujours la même erreur...
J'ai alors testé ce code issu de la bible (merci BM et LG) :
Provoque une erreur sur la ligne "Open monurl for input as #1"
J'ai testé en passant par la version portable, mais sans plus de succès...
J'ai toujours la même erreur...
J'ai alors testé ce code issu de la bible (merci BM et LG) :
Code : Tout sélectionner
sub lecturecodesource()
oDoc = ThisComponent
Feuilcp1 = oDoc.getSheets.getByName("Feuille5")
dim monurl as string
dim lareponse as string
dim n as integer
dim i as integer
dim nl as integer
monurl=ConvertToURL("http://router.project-osrm.org/route/v1/driving/2.00,46.00;3.00,47.00")
Open monurl for input as #1
line input #1, lareponse
do while not eof(#1)
line input #1, lareponse
n = n + 1
feuilcp1.getCellByPosition( 1 ,n ).formula=lareponse
loop
close #1
end sub
Peut-être que le fait de passer par un proxy pose problème.Erreur d'exécution BASIC.
Erreur d'E/S de périphérique.
LibreOffice 4.3.7.2.lin04 (non modifiable, version officielle employeur - poste fixe) sous Windows 7 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro
-
- PassiOOnné
- Messages : 629
- Inscription : 09 août 2017 22:15
Re: [Calc] Récupération d'itinéraire depuis le Web
hello,
essaie de tester l'adresse url :
dans un navigateur.
Sinon peut-être un pb de parefeu ou de proxy qui n'autorise pas LibreOffice à accèder à des pages internet.
Ami calmant, J.P
essaie de tester l'adresse url :
Code : Tout sélectionner
http://router.project-osrm.org/route/v1/driving/2.00,46.00;3.00,47.00
Sinon peut-être un pb de parefeu ou de proxy qui n'autorise pas LibreOffice à accèder à des pages internet.
Ami calmant, J.P
LibreOffice 7.6.2.1 et OpenOffice 4.1.15 sous windows 11
LibreOffice 24.2.0 et OpenOffice 4.1.15 sous Ubuntu 20.04
LibreOffice 24.2.0 et OpenOffice 4.1.15 sous Ubuntu 20.04
-
- Membre OOrganisé
- Messages : 51
- Inscription : 15 avr. 2014 13:57
Re: [Calc] Récupération d'itinéraire depuis le Web
Bonjour,
JP, l'URL renvoie :
Ce qui est surprenant, c'est que je puisse ouvrir une page URL depuis LO mais pas d'en récupérer les données...
JP, l'URL renvoie :
Je testerai depuis mon domicile, je n'ai pas eu le temps de le faire ce week-end...{"routes":[{"geometry":"mywwGs{dKz^hnClqCpaAv|D{qMop@meSn[c}A_lEyiEe{GkfAafPbtCuiNsiKa{IsmTu_GsyJmbDs~KycA{bJeoE_gBocBuhD}_@esGheAwjAdDanBmoDkyKweQfmIodCfaEri@jQuvFhfAyhI|]ypUc{MglCvoAggAeoPwhIktYq}GgaFksMcoAmqAlgAkdBud@okDsaCgl@uvDcnAytA","legs":[{"summary":"","weight":10681.8,"duration":9517.1,"steps":[],"distance":189252.2}],"weight_name":"routability","weight":10681.8,"duration":9517.1,"distance":189252.2}],"waypoints":[{"hint":"IfuQhkRutIYsAAAAggAAAMkGAAD1BQAAFgAAAEEAAABmAwAA-wIAALbfAADmdR4AhfC9AoCEHgCA570CDACfAoj4uKI=","name":"Route de Petillat","location":[1.996262,46.002309]},{"hint":"P098gr9W_YdNAAAAgAEAAGwCAABTAAAATQAAAIABAABsAgAAUwAAALbfAADL6y0ADR3NAsDGLQDAKc0CCgDvDIj4uKI=","name":"","location":[3.009483,46.996749]}],"code":"Ok"}
Ce qui est surprenant, c'est que je puisse ouvrir une page URL depuis LO mais pas d'en récupérer les données...
LibreOffice 4.3.7.2.lin04 (non modifiable, version officielle employeur - poste fixe) sous Windows 7 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro
-
- SuppOOrter
- Messages : 1214
- Inscription : 06 avr. 2016 07:26
Re: [Calc] Récupération d'itinéraire depuis le Web
Bonjour,
Il existe une api relativement simple d'utilisation et basée sur les cartes d'OpenStreetMap : https://developer.mapquest.com/document ... map-api/v5 (afficher une des images pour obtenir un exemple d'url).
Je joins un exemple d'utilisation en basic, qui n'est pas nécessairement simple à mettre en place (peut-être ne fonctionnera-t-il pas sur toutes les plateformes). La clé api utilisée a été récupérée sur le site donné plus haut. Il est probable qu'elle change régulièrement. Le mieux sera évidemment d'ouvrir un compte pour obtenir une clé personnelle...
Cordialement.
Il existe une api relativement simple d'utilisation et basée sur les cartes d'OpenStreetMap : https://developer.mapquest.com/document ... map-api/v5 (afficher une des images pour obtenir un exemple d'url).
Je joins un exemple d'utilisation en basic, qui n'est pas nécessairement simple à mettre en place (peut-être ne fonctionnera-t-il pas sur toutes les plateformes). La clé api utilisée a été récupérée sur le site donné plus haut. Il est probable qu'elle change régulièrement. Le mieux sera évidemment d'ouvrir un compte pour obtenir une clé personnelle...
Cordialement.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Hubert Lambert le 15 janv. 2018 16:41, modifié 1 fois.
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
-
- Membre OOrganisé
- Messages : 51
- Inscription : 15 avr. 2014 13:57
Re: [Calc] Récupération d'itinéraire depuis le Web
Bonjour Hubert,
Je viens de tester, mais j'ai une erreur à la ligne 25 selon le message renvoyé...
Cela semble correspondre à l'instruction : inputstream = sfa.openFileRead(convertToURL(url))
Ce qui semble cohérent avec les problèmes rencontrés plus haut
Je viens de tester, mais j'ai une erreur à la ligne 25 selon le message renvoyé...
Cela semble correspondre à l'instruction : inputstream = sfa.openFileRead(convertToURL(url))
Ce qui semble cohérent avec les problèmes rencontrés plus haut
LibreOffice 4.3.7.2.lin04 (non modifiable, version officielle employeur - poste fixe) sous Windows 7 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro
-
- SuppOOrter
- Messages : 1214
- Inscription : 06 avr. 2016 07:26
Re: [Calc] Récupération d'itinéraire depuis le Web
Regarde quel est le proxy utilisé par ton navigateur ou ton système, et modifie les paramètres de LibreOffice en conséquence (menu Outils -> Options -> Internet -> Proxy).
PS. Tu peux vérifier si LibO accède à internet en tentant une mise à jour de tes extensions... si tu en as (menu Outils -> Gestionnaire des extensions).
PS. Tu peux vérifier si LibO accède à internet en tentant une mise à jour de tes extensions... si tu en as (menu Outils -> Gestionnaire des extensions).
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
-
- SuppOOrter
- Messages : 1214
- Inscription : 06 avr. 2016 07:26
Re: [Calc] Récupération d'itinéraire depuis le Web
Je me rends compte - honte à moi - que ma proposition ci-dessus était totalement hors sujet .
Je joins donc un nouvel exemple, plus à propos.
Celui-ci utilise cette fois l'api Google Maps.
Pour me faire pardonner :
- le code est entièrement en basic
- le code comprends une clé que je laisserai à disposition pendant quelques jours.
Bien cordialement.
Je joins donc un nouvel exemple, plus à propos.
Celui-ci utilise cette fois l'api Google Maps.
Pour me faire pardonner :
- le code est entièrement en basic
- le code comprends une clé que je laisserai à disposition pendant quelques jours.
Bien cordialement.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
-
- Membre OOrganisé
- Messages : 51
- Inscription : 15 avr. 2014 13:57
Re: [Calc] Récupération d'itinéraire depuis le Web
Bonjour Hubert,
Toujours pas eu le temps de tester chez moi, d'autant moins que LO fait des siennes à la maison suite à ma dernière mise à jour (vérification de LO, puis rien...)
Merci pour ton nouveau fichier, qui me renvoie toujours la même erreur au même endroit (inputstream = sfa.openFileRead(url))...
Sur tes conseils, j'ai consulté les réglages proxy :
- navigateur : adresse de configuration automatique du proxy (http://proxy.infra.nomsoc/proxy.pac)
- LO : serveur proxy = Système
Toujours pas eu le temps de tester chez moi, d'autant moins que LO fait des siennes à la maison suite à ma dernière mise à jour (vérification de LO, puis rien...)
Merci pour ton nouveau fichier, qui me renvoie toujours la même erreur au même endroit (inputstream = sfa.openFileRead(url))...
Sur tes conseils, j'ai consulté les réglages proxy :
- navigateur : adresse de configuration automatique du proxy (http://proxy.infra.nomsoc/proxy.pac)
- LO : serveur proxy = Système
LibreOffice 4.3.7.2.lin04 (non modifiable, version officielle employeur - poste fixe) sous Windows 7 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro
LibreOffice 6.2.7.1.lin1 (non modifiable, version officielle employeur - poste nomade) sous Windows 10 Pro
-
- SuppOOrter
- Messages : 1214
- Inscription : 06 avr. 2016 07:26
Re: [Calc] Récupération d'itinéraire depuis le Web
Essaie d'identifier, dans le fichier proxy.pac, la ou les adresses qui pourraient correspondre à ton profil ou ton usage et teste-les une à une dans la configuration de LibO, en mettant le mode proxy sur "Manuel".
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)