|
Precedente
Successivo
|
| Autore |
Messaggio |
kira69
Registrato: 11/03/10 19:30
Messaggi: 6

|
R13
Inviato: Gio 11 Mar 2010, 19:43 Oggetto: apple script editor, ricavare valore da sito web
|
|
|
ciao a tutti,
complimenti per il "faqforum"
ho bisogno di fare uno script, che apra una pagina in safari ( e ok) e dentro questa pagina "peschi " / " copi" un determinato valore per poi inserirlo in un campo o incollare in text edit .
sapete se è possibile data una pagina web, far dire allo script " prendi quel valore e memorizzalo per un uso successivo?
nel concreto, devo convertire un importo da euro a dollari, e vorrei che lo script recuperasse il tasso di cambio da un sito web, ma non so come fargli " leggere " il valore....
grazie per l'aiuto |
|
| Top |
|
 |
stefano

Registrato: 09/01/08 12:14
Messaggi: 1524
Residenza: Rimini

|
R13
Inviato: Ven 12 Mar 2010, 10:15 Oggetto: Re: apple script editor, ricavare valore da sito web
|
|
|
| kira69 ha scritto: | ciao a tutti,
complimenti per il "faqforum"
ho bisogno di fare uno script, che apra una pagina in safari ( e ok) e dentro questa pagina "peschi " / " copi" un determinato valore per poi inserirlo in un campo o incollare in text edit .
sapete se è possibile data una pagina web, far dire allo script " prendi quel valore e memorizzalo per un uso successivo?
nel concreto, devo convertire un importo da euro a dollari, e vorrei che lo script recuperasse il tasso di cambio da un sito web, ma non so come fargli " leggere " il valore....
grazie per l'aiuto |
ciao e benvenuto
Quello che vuoi fare è il parsing di una richiesta soap per estrapolare il tuo valore, cosa che AppleScript supporta perfettamente e in teoria non ti servirebbe neppure interagire con Safari, ma procedo con la tua richiesta.
Per vedere ulteriori comandi disponibili per Safari da AppleScript devi aprire il dizionario Safari dalla libreria di Script Editor.
| Codice: | property link : "http://www.apple.com"
property obiettivo : {"<title>", "</title>"}
tell application "Safari"
set questo_documento to make new document at beginning of documents -- apre una nuova pagina e ne memorizza il riferimento per un uso successivo
delay 1 -- attesa creazione finestra
set URL of questo_documento to link -- apre il link nella nuova finestra appena creata
delay 3 -- attesa caricamento
copy obiettivo to {i, f}
set sorgente_pagina to source of document 1 -- mette in una variabile il contenuto della pagina come html, appunto la sorgente
delay 5 -- attesa caricamento
set partenza to offset of i in sorgente_pagina -- conta i caratteri fino al tag <title>
set arrivo to offset of f in sorgente_pagina -- conta i caratteri fino al tag </title>
set stringa to (characters (partenza + (length of i)) thru (arrivo - 1) in sorgente_pagina) as string -- ricava il testo contenuto tra i due tag
display dialog "Il titolo della pagina è:" & return & stringa
-- set the clipboard to stringa -- mette la stringa negli appunti
-- qui potresti chiamare Script Editor e mettere Apple nel testo, è facile basta guardare la libreria di Script Editor per capire come fare
end tell |
_________________ coloro i quali affermano che internet è un covo di illegalità, significa che usano internet solo per sfruttare l'illegalità, alias: si sa solo di ciò che si conosce
noi siamo il futuro, perciò non è colpa di nessuno, semmai colpa nostra
Aiutami nel mio addestramento Jedi mentre fronteggio la minaccia di Volkswagen al Pianeta Terra |
|
| Top |
|
 |
kira69
Registrato: 11/03/10 19:30
Messaggi: 6

|
R13
Inviato: Ven 12 Mar 2010, 10:56 Oggetto:
|
|
|
sei gentilissimo, è un grande passo avanti per il risultato, ma non ci sono ancora
ho modificato il tuo script con i valori che puoi vedere qui sotto, ma il dialogo finale, riporta quasi tutto il sorgente della pagina, non solo il valore indicato dal tag " obiettivo", forse sono solo alcuni i tag che possono essere " letti "?
property link : "http://www.borsaitaliana.it/borsa/azioni/scheda.html?isin=FI0009000681&lang=it="
property obiettivo : {"<td>", "</td>"}
tell application "Safari"
set questo_documento to make new document at beginning of documents -- apre una nuova pagina e ne memorizza il riferimento per un uso successivo
delay 4 -- attesa creazione finestra
set URL of questo_documento to link -- apre il link nella nuova finestra appena creata
delay 4 -- attesa caricamento
copy obiettivo to {i, f}
set sorgente_pagina to source of document 1 -- mette in una variabile il contenuto della pagina come html, appunto la sorgente
delay 4 -- attesa caricamento
set partenza to offset of i in sorgente_pagina -- conta i caratteri fino al tag <title>
set arrivo to offset of f in sorgente_pagina -- conta i caratteri fino al tag </title>
set stringa to (characters (partenza + (length of i)) thru (arrivo - 1) in sorgente_pagina) as string -- ricava il testo contenuto tra i due tag
display dialog "Il titolo della pagina è:" & return & stringa
-- set the clipboard to stringa -- mette la stringa negli appunti
-- qui potresti chiamare Script Editor e mettere Apple nel testo, è facile basta guardare la libreria di Script Editor per capire come fare
end tell |
|
| Top |
|
 |
kira69
Registrato: 11/03/10 19:30
Messaggi: 6

|
R13
Inviato: Ven 12 Mar 2010, 11:01 Oggetto:
|
|
|
| uhm , per altro ho provato anche con un altro sito e con un tag diverso ma mi riporta sempre tutto l url... |
|
| Top |
|
 |
stefano

Registrato: 09/01/08 12:14
Messaggi: 1524
Residenza: Rimini

|
R13
Inviato: Ven 12 Mar 2010, 19:31 Oggetto:
|
|
|
| kira69 ha scritto: | | uhm , per altro ho provato anche con un altro sito e con un tag diverso ma mi riporta sempre tutto l url... |
nel mio caso era semplice, al tag <title> non applichi niente
mentre invece in alcuni casi al delimitatore può applicata una classe <td class="title_page" nowrap="nowrap" ecc per cui il risultato può essere inaspettato con valori addirittura negativi
prova ad inserire solo <td come stringa iniziale
dovrai poi eseguire ulteriori parsing positivi e negativi per rimuovere il codice in eccesso ( cerca ">" ), un lavorone che se ne va a pallino come cambiano stile o struttura, sarebbe allora meglio la richiesta soap, ma anche li non ci sono certezze. _________________ coloro i quali affermano che internet è un covo di illegalità, significa che usano internet solo per sfruttare l'illegalità, alias: si sa solo di ciò che si conosce
noi siamo il futuro, perciò non è colpa di nessuno, semmai colpa nostra
Aiutami nel mio addestramento Jedi mentre fronteggio la minaccia di Volkswagen al Pianeta Terra |
|
| Top |
|
 |
kira69
Registrato: 11/03/10 19:30
Messaggi: 6

|
R13
Inviato: Ven 12 Mar 2010, 23:37 Oggetto:
|
|
|
beh ho risolto cosi...
property link : "http://www.borsaitaliana.it/borsa/azioni/scheda.html?isin=FI0009000681&lang=it="
tell application "Safari"
set questo_documento to make new document at beginning of documents
delay 2 -- attesa creazione finestra
set URL of questo_documento to link
delay 10 -- attesa caricamento
set sorgente_pagina to source of document 1
delay 3 -- attesa caricamento
set the clipboard to sorgente_pagina
delay 1 -- attesa caricamento
tell application "TextEdit"
activate
tell application "System Events"
keystroke "n" using command down
end tell
delay 2 -- attesa creazione finestra
tell application "System Events"
keystroke "v" using command down
end tell
tell application "System Events"
keystroke "f" using command down
keystroke "even_ht"
keystroke return
key code 124
key code 124
key code 124
key code 124 using shift down
key code 124 using shift down
key code 124 using shift down
key code 124 using shift down
key code 124 using shift down
keystroke "c" using command down
keystroke "n" using command down
keystroke "v" using command down
end tell
end tell
end tell |
|
| Top |
|
 |
stefano

Registrato: 09/01/08 12:14
Messaggi: 1524
Residenza: Rimini

|
R13
Inviato: Sab 13 Mar 2010, 01:15 Oggetto:
|
|
|
be' se il risultato era accettabile così allora bastava un
| Codice: | property link : "http://www.borsaitaliana.it/borsa/azioni/scheda.html?isin=FI0009000681&lang=it="
set a to POSIX path of (path to desktop folder)
set t to current date
set dt to (year of t & ft((month of t) as number) & ft(day of t) & ft(hours of t) & ft(minutes of t)) as string
set f to "borsaitaliana.it_" & dt & ".html"
set p to a & f
do shell script "curl -o " & quoted form of p & " '" & link & "'"
tell application "TextEdit"
open p
end tell
on ft(tt)
set g to (characters 1 thru 2 of ((reverse of every character of ("0" & tt)) as string))
return (reverse of g) as string
end ft |
_________________ coloro i quali affermano che internet è un covo di illegalità, significa che usano internet solo per sfruttare l'illegalità, alias: si sa solo di ciò che si conosce
noi siamo il futuro, perciò non è colpa di nessuno, semmai colpa nostra
Aiutami nel mio addestramento Jedi mentre fronteggio la minaccia di Volkswagen al Pianeta Terra |
|
| Top |
|
 |
kira69
Registrato: 11/03/10 19:30
Messaggi: 6

|
R13
Inviato: Sab 13 Mar 2010, 08:34 Oggetto:
|
|
|
ciao, grazie ancora per la pazienza,
questo ultimo script che hai postato copia tutta la pagina
A me serve solo il valore dell'ultimo scambio.
Se c'è un modo più " veloce" e meno dispersivo di ottenere quel dato, sarebbe perfetto.
certo è.. che il tuo script mi ha fatto venire una nuova ispirazione per un ulteriore sviluppo. |
|
| Top |
|
 |
stefano

Registrato: 09/01/08 12:14
Messaggi: 1524
Residenza: Rimini

|
R13
Inviato: Dom 14 Mar 2010, 00:49 Oggetto:
|
|
|
| kira69 ha scritto: | | certo è.. che il tuo script mi ha fatto venire una nuova ispirazione per un ulteriore sviluppo. |
quello è il mio obiettivo veramente, non risolverti la cosa
pardon _________________ coloro i quali affermano che internet è un covo di illegalità, significa che usano internet solo per sfruttare l'illegalità, alias: si sa solo di ciò che si conosce
noi siamo il futuro, perciò non è colpa di nessuno, semmai colpa nostra
Aiutami nel mio addestramento Jedi mentre fronteggio la minaccia di Volkswagen al Pianeta Terra |
|
| Top |
|
 |
|
 |
Non puoi inserire nuovi argomenti Non puoi rispondere a nessun argomento Non puoi modificare i tuoi messaggi Non puoi cancellare i tuoi messaggi Non puoi votare nei sondaggi
|
|
Cerca il Forum con Google
|
|
|
|
|
|