PDA

View Full Version : Ottenere dati da una tabella di pagina web


nlazza87
04-08-2010, 10:06
Salve, sto cercando di sviluppare un mio sito internet. Vorrei sapere se è possibile riuscire ad ottenere dati da un altro sito web e postarli nelle mie pagine. Ad esempio è possibile riuscire ad ottenere in qualche modo i dati della tabella presente a quest'indirizzo:
http://www.infobetting.com/calcio/visualizza_quote.php?testataEvento=9

clockover
04-08-2010, 18:39
In java potresti elaborare la pagina html estrapolando i nodi di interesse! Ad esempio io sto usando (ora sono in ferie quindi non estrapolo proprio un bel niente :D :D ) a questo scopo HTMLParser http://htmlparser.sourceforge.net/

dojolab
04-08-2010, 19:04
In java potresti elaborare la pagina html estrapolando i nodi di interesse! Ad esempio io sto usando (ora sono in ferie quindi non estrapolo proprio un bel niente :D :D ) a questo scopo HTMLParser http://htmlparser.sourceforge.net/

Lo puoi fare con qualsiasi linguaggio di programmazione!
Python è la via più veloce e indolore, secondo me :|

nlazza87
05-08-2010, 09:48
La mia intenzione è quella di creare una pagina web che automaticamente prende le informazioni dall'altra pagina, vorrei evitare di usare un programma java o python dato che comunque mi toccherebbe ogni volta andare a caricare manualmente i dati ottenuti con il programma nella mia pagina web. Non è per caso possibile qualcosa di simile con JavaScript?

dojolab
05-08-2010, 10:13
La mia intenzione è quella di creare una pagina web che automaticamente prende le informazioni dall'altra pagina, vorrei evitare di usare un programma java o python dato che comunque mi toccherebbe ogni volta andare a caricare manualmente i dati ottenuti con il programma nella mia pagina web. Non è per caso possibile qualcosa di simile con JavaScript?

Non so se esistono librerie JavaScript per il parsing dell'HTML, ma il tuo problema rimane lo stesso; cos'è tutte le volte che carichi la pagina fai parsare l'HTML a JS? Rischi il collasso del Browser...

Secondo me fai prima a farti uno scriptino PHP/Python ed eseguirlo con un CRON tutte le notti :D

tomminno
05-08-2010, 10:16
La mia intenzione è quella di creare una pagina web che automaticamente prende le informazioni dall'altra pagina, vorrei evitare di usare un programma java o python dato che comunque mi toccherebbe ogni volta andare a caricare manualmente i dati ottenuti con il programma nella mia pagina web.


Ma anche no, dato che il tuo programma (lato server) genererebbe direttamente la tua pagina leggendo dal sito remoto.


Non è per caso possibile qualcosa di simile con JavaScript?

Decisamente no. Javascript al momento può aprire connessioni solo verso il server della pagina.

dojolab
05-08-2010, 11:16
Decisamente no. Javascript al momento può aprire connessioni solo verso il server della pagina.

Oltre a questo, che comunque potrebbe aggirare scaricandolo il file .html in remoto sulla macchina stessa.

Però a sto punto te lo parsi con un linguaggio di scripting ;)

nlazza87
05-08-2010, 17:06
Ma anche no, dato che il tuo programma (lato server) genererebbe direttamente la tua pagina leggendo dal sito remoto.



Decisamente no. Javascript al momento può aprire connessioni solo verso il server della pagina.

Quindi con python sarebbe possibile?
In python non ho mai programmato, risulta essere qualcosa di fattibile o meno? Potreste darmi qualche incipit per iniziare?

malocchio
05-08-2010, 21:32
Quindi con python sarebbe possibile?
In python non ho mai programmato, risulta essere qualcosa di fattibile o meno? Potreste darmi qualche incipit per iniziare?

Lo puoi realizzare con un qualsiasi linguaggio lato server, io ti sconsiglio di impararne uno da zero solo per fare questa pagina, a meno che tu non ne abbia il sano interesse...

Wing_Zero
06-08-2010, 01:18
Un parser html non è una cosa propriamente immediata e semplice da realizzare.
Hai 2 possibile modii per creare il parser:
DOM style
SAX style

Facendo un parser DOM dovresti riuscire a creare un albero della pagina e poter accedere ad un nodo in qualiasi momento.

Con un parser SAX accedi in lettura sequenziale alla pagina, ed un volta beccato ciò che ti interessa lo salvi.

Un parser DOM è più complicato sia da realizzare sia per permettergli di riconoscere tutti i vari tag possibili: con un parser DOM infatti è molto probabile che se la pagina non è ben formattata non recuperi proprio niente.

Per quello che devi fare tu, un paser SAX style è molto piu' indicato...leggi i dati che ti servono mano a mano e te li salvi.

Piu' che utilizzare un parser esistente ti consiglio di scrivere uno da te, facendo uso del pattern matching in modo da beccare in maniera facile ed immediata i dati che ti servono.

L'html parser linkato in precedenza, se la pagina non è formattata come si deve o ha errori al suo interno, spesso e volentieri non ti restituisce un bel niente.

Il javascript lascialo stare. Per un operazione del genere è d'obbligo l'uso del python. Potente, flessibile e facilmente integrabile.

Ad esempio io l'altro giorno ho scritto una "specie" di parser per il sito filmup.it, l'ho integrato nel mio programmino [QT / C++] per la gestione della mia raccolta di film personali, tramite il quali scarico tutte le info di un film compresa la copertina.