4 messaggi dal 28 aprile 2014
Buon giorno a tutti,
approfitto delle vostra vasta visione di insieme per chiedervi un consiglio. Chiedo perdono da subito per mia ignoranza.
Dato un sito, per esempio, un sito delle ferrovie o di un aereoporto, vorrei costruirvi sopra una app per consultarlo e interagirci facilmente da mobile, magari compilando dei form.
Ad esempio, permettere a tutti con la mia app di vedere con dei menu a tendina quale aereo atterra tra le 10:00 e le 12:00 e compilare dei form.
Dal poco che so questo genere di app ha architettura RESTFUL (ma magari sbaglio)
Vengo alla domanda. Io so usare solo un po' c#, un programma del genere lo farei con la logica di un parser, retroingengnerizzando tutti i pezzi di html e le stringhe dell barra degli indirizzi per i POST. Ma non credo sia la soluzione più efficiente e intelligente nel 2015.
Voi come e con quali tecnolgie impostereste lo sviluppo di una siffatta app?
Vi ringrazio in anticipo per i consigli e per le indicazione dei materiali da studiarmi.
ciao,
Luca
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Luca, non ti preoccupare, abbiamo tutti iniziato da nulla. E' un passaggio obbligatorio :)

ariolo ha scritto:

retroingengnerizzando tutti i pezzi di html e le stringhe dell barra degli indirizzi per i POST

Di solito, nei termini di utilizzo del sito questa pratica è vietata ed è comprensibile: i proprietari non vogliono vedersi sottrarre del traffico al loro sito. Sarebbe come rubare il servizio.
Anche se nei termini di utilizzo non è scritto nulla a riguardo, è probabile che i proprietari siano contrari. In caso di dubbio, mandagli una mail per spiegare come intendi usare le loro informazioni e per chiedere autorizzazione.

ariolo ha scritto:
Dato un sito, per esempio, un sito delle ferrovie o di un aereoporto

Nel 2015, se una compagnia di trasporti vuole che i dati in suo possesso siano consumati pubblicamente, allora espone una API, che può essere gratuita o a pagamento.
In questo modo, dato che una API è pensata specificatamente per la fruizione programmatica da parte di un'app mobile o da qualsiasi altro tipo di software, è molto più semplice consumarla e non bisogna fare alcun reverse engineering. Si tratta sostanzialmente di parsare il json o l'xml che restituisce come risposta.

Prova a cercare su internet "flight API", qualcosa trovi di sicuro. Per esempio esce fuori questo, che ha informazioni su parecchi (se non la totalità) dei voli.
https://it.flightaware.com/commercial/flightxml/

In alternativa, quando ti serve una API, prova a cercare su mashape.com che ti fornisce indicazioni anche sul prezzo, sulla popolarità e sulla disponibilità di ogni prodotto API.

ciao,
Moreno
Modificato da BrightSoul il 12 maggio 2015 20.45 -

Enjoy learning and just keep making
4 messaggi dal 28 aprile 2014
Ciao Moreno,
ti ringrazio per la risposta!!
Mi guardo subitomashape ..
Quindi, se ho capito bene, ho un sito espone API(e quindi mi studio le API che sono un mondo da quello che ho intravisto) oppure -se il sito è d'accordo - il solo modo è comunque reverse engeneering con parser su html.
Approfitto ancora dell tua pazienza e cortesia e domando: se l'approccio è reverse-eng su html, ci sono particolari strumenti o metodi che potrei studiarmi?
Grazie ancora,
a presto,
ciao
Luca
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Luca,



L'HtmlAgilityPack è una libreria che si occupa di parsare codice HTML, eventualmente proveniente da un URL remoto. Qui c'è un articolo che ti mostra come usarlo.
http://www.codeproject.com/Articles/659019/Scraping-HTML-DOM-elements-using-HtmlAgilityPack-H

Però è difficile che tu riesca ad ottenere informazioni in questo modo. Oggi nei siti c'è molto javascript e le informazioni vengono ottenute con richieste ajax.
Un modo che ti dà più probabilità di riuscita consiste nell'usare un browser headless come PhantomJS. Si tratta di un browser che non ha interfaccia grafica, e il cui scopo è essere pilotato mediante scripts al fine di simulare l'attività di un utente. Va installato nel server, quindi devi avere accesso amministrativo alla macchina.

ariolo ha scritto:

oppure -se il sito è d'accordo

Sì, ma è raro che siano d'accordo. Per cortesia, non fare scraping senza consenso.

ciao,
Moreno

Enjoy learning and just keep making
4 messaggi dal 28 aprile 2014
Ciao Moreno,
grazie mille! Imparo Agility allora.
No davvero, nessuno scraping !
Luca

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.