Suggerimenti per soluzioni di scraping (meglio se da linea di comando ... )

52 views
Skip to first unread message

cesare gerbino

unread,
Feb 13, 2017, 2:58:21 AM2/13/17
to spaghett...@googlegroups.com
Ciao a tutti,

scrivo qui perchè sò che sicuramente posso trovare indicazioni e perchè sono completamente a digiuno di queste cose.... mi suggerite dei tools / soluzioni per fare scraping di pagine web? 

Se possibile soluzioni utilizzabili da linea di comando o comunque "programmabili" da script shell, php, ecc ... 

Grazie a tutti e buona giornata



Questo è un account di posta personale di Cesare Gerbino: tutte le opinioni espresse sono personali e non riflettono necessariamente quelle del mio datore di lavoro

This is Cesare Gerbino mail account. Text is written by Cesare Gerbino:  the views expressed  are mine and not necessarily those of my employer.
.

andy

unread,
Feb 13, 2017, 3:57:09 AM2/13/17
to Spaghetti Open Data

Caro Cesare,

2017-02-13 8:58 GMT+01:00 cesare gerbino <cesare...@gmail.com>:

scrivo qui perchè sò che sicuramente posso trovare indicazioni e perchè sono completamente a digiuno di queste cose.... mi suggerite dei tools / soluzioni per fare scraping di pagine web? 

Se possibile soluzioni utilizzabili da linea di comando o comunque "programmabili" da script shell, php, ecc ... 

è po’ come Nikon e Canon: troverai mille approcci al tema dello scraping, specie se ci metti di mezzo la programmazione.

Se sei interessato alla riga di comando, il mondo delle utility Unix/Linux sembra fatto a posta, perché molte nascono per “masticare” e mettere in pipe stringhe di testo. E il testo è la materia prima delle pagine web, di API, ecc..

Con curl, csvkit, jq, xml2json, scrape e il nostro amato GDAL/OGR puoi fare scraper one-liner sorprendenti. Se poi ci metti 5 righe di bash, con un if then else e un while loop lo rendi più robusto. Un ottimo libro, che consiglio per stare sulla riga di comando è Data Science at the Command Line.

Se poi vai sullo scripting oltre a poter fare cose molto robuste approfondendo bash, in ambiente Python ci sono moduli come Beautiful Soup, LXML e Scrapy che rendono questo ambiente uno dei preferiti per questa tipologia di uso.

Buona giornata


Andrea Borruso
website: http://blog.spaziogis.it
38° 7’ 48” N, 13° 21’ 9” E, EPSG:4326


“cercare e saper riconoscere chi e cosa,
in mezzo all’inferno, non è inferno,
e farlo durare, e dargli spazio”

Italo Calvino

Cristiano Longo

unread,
Feb 13, 2017, 4:01:38 AM2/13/17
to spaghett...@googlegroups.com

Ciao,

se mastichi di php nel repo di albo pop ho generalizzato le parti comuni. Nella cartella code/phpparsing si sono le utility per il parsing di tabelle dentro pagine web. Mi riprometto prima o poi di scrivere un documento su come usare queste librerie. Il repository di albo pop è https://github.com/aborruso/albo-pop.git . Li trovi anche altre soluzioni, ad esempio una basata su google script mi pare.

Hope it helps,

CL

--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "Spaghetti Open Data" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a spaghettiopend...@googlegroups.com.
Visita questo gruppo all'indirizzo https://groups.google.com/group/spaghettiopendata.
Per altre opzioni visita https://groups.google.com/d/optout.

Maurizio Napolitano

unread,
Feb 13, 2017, 4:12:31 AM2/13/17
to Spaghetti Open Data
> Se poi vai sullo scripting oltre a poter fare cose molto robuste
> approfondendo bash

visto che si dice bash, in forma autocelebrativa condivido degli appunti
http://de.straba.us/2008/08/19/bash-shell-in-30/
(è la traduzione di un articolo per me molto utile)

Ciao

Alfredo Serafini

unread,
Feb 13, 2017, 4:48:32 AM2/13/17
to Spaghetti Open Data
ciao Cesare una domandina: te la cavi con Java/Scala o javascript?

un approccio che a me piace molto (se puoi programmare un po' dico) è quello basato su webdriver, si può usare una qualsiasi implementazione, ad esempio con JS c'è ghostdriver che è un browser headless programmabile, in pratica. Se invece usi Java (o Scala!) a me piace molto usare cose come selenium: ovviamente richiedono un po' di programmazione ad hoc, ma il vantaggio è che puoi fare estrazioni fatte come si deve

Giacomo Gamba

unread,
Feb 13, 2017, 8:38:45 AM2/13/17
to Spaghetti Open Data
Non posso non intervenire per consigliare R e il pacchetto 'rvest'. R non è per tutti, ma i pacchetti creati da Hadley Wickham sono molto intuitivi. Se lo scraping è di dati, R è la soluzione migliore per dopo sistemarli/pulirli/manipolarli. Se serve aiuto pinga pure.

mbranco2

unread,
Feb 13, 2017, 9:24:24 AM2/13/17
to spaghett...@googlegroups.com
Non solo
+1 ,
ma anche grazie di avermi fatto scoprire rvest: non lo conoscevo e pacioccavo a più basso livello con il package XML, ....

 :-)

--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "Spaghetti Open Data" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a spaghettiopendata+unsubscribe@googlegroups.com.

Marco Fossati

unread,
Feb 14, 2017, 9:52:59 AM2/14/17
to spaghett...@googlegroups.com
Scrapy tutta la vita:
https://scrapy.org/

Marco

On 2/13/17 15:24, mbranco2 wrote:
> Non solo
> +1 ,
> ma anche grazie di avermi fatto scoprire rvest: non lo conoscevo e
> pacioccavo a più basso livello con il package XML, ....
>
> :-)
>
> Il giorno 13 febbraio 2017 14:38, Giacomo Gamba <giack...@gmail.com
> <mailto:giack...@gmail.com>> ha scritto:
>
> Non posso non intervenire per consigliare R e il pacchetto 'rvest'.
> R non è per tutti, ma i pacchetti creati da Hadley Wickham sono
> molto intuitivi. Se lo scraping è di dati, R è la soluzione migliore
> per dopo sistemarli/pulirli/manipolarli. Se serve aiuto pinga pure.
>
>
> On Monday, 13 February 2017 08:58:21 UTC+1, cesare gerbino wrote:
>
> Ciao a tutti,
>
> scrivo qui perchè sò che sicuramente posso trovare indicazioni e
> perchè sono completamente a digiuno di queste cose.... mi
> suggerite dei tools / soluzioni per fare scraping di pagine web?
>
> Se possibile soluzioni utilizzabili da linea di comando o
> comunque "programmabili" da script shell, php, ecc ...
>
> Grazie a tutti e buona giornata
>
>
> Cesare Gerbino
>
> http://cesaregerbino.wordpress.com/
> <http://cesaregerbino.wordpress.com/>
> http://www.facebook.com/cesare.gerbino
> <http://www.facebook.com/cesare.gerbino>
> http://www.facebook.com/pages/Cesare-Gerbino-GIS-Blog/246234455498174?ref=hl
> <http://www.facebook.com/pages/Cesare-Gerbino-GIS-Blog/246234455498174?ref=hl>
> https://twitter.com/CesareGerbino
> <https://twitter.com/CesareGerbino>
> http://www.linkedin.com/pub/cesare-gerbino/56/494/77b
> <http://www.linkedin.com/pub/cesare-gerbino/56/494/77b>
>
> Questo è un account di posta personale di Cesare Gerbino: tutte
> le opinioni espresse sono personali e non riflettono
> necessariamente quelle del mio datore di lavoro
>
> This is Cesare Gerbino mail account. Text is written by Cesare
> Gerbino: the views expressed are mine and not necessarily
> those of my employer.
> .
>
> --
> Hai ricevuto questo messaggio perché sei iscritto al gruppo
> "Spaghetti Open Data" di Google Gruppi.
> Per annullare l'iscrizione a questo gruppo e non ricevere più le sue
> email, invia un'email a
> spaghettiopend...@googlegroups.com
> <mailto:spaghettiopend...@googlegroups.com>.
> Visita questo gruppo all'indirizzo
> https://groups.google.com/group/spaghettiopendata
> <https://groups.google.com/group/spaghettiopendata>.
> Per altre opzioni visita https://groups.google.com/d/optout
> <https://groups.google.com/d/optout>.
>
>
> --
> Hai ricevuto questo messaggio perché sei iscritto al gruppo "Spaghetti
> Open Data" di Google Gruppi.
> Per annullare l'iscrizione a questo gruppo e non ricevere più le sue
> email, invia un'email a spaghettiopend...@googlegroups.com
> <mailto:spaghettiopend...@googlegroups.com>.

cesare gerbino

unread,
Feb 15, 2017, 7:14:54 AM2/15/17
to spaghett...@googlegroups.com
Ciao a tutti,

scusate il ritardo .... Grazie a tutti dei preziosi consigli, direi che ho un bel pò di cose da approfondire ..... 

Alla prossima e a presto!


Questo è un account di posta personale di Cesare Gerbino: tutte le opinioni espresse sono personali e non riflettono necessariamente quelle del mio datore di lavoro

This is Cesare Gerbino mail account. Text is written by Cesare Gerbino:  the views expressed  are mine and not necessarily those of my employer.
.




--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "Spaghetti
Open Data" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue

Visita questo gruppo all'indirizzo
https://groups.google.com/group/spaghettiopendata.
Per altre opzioni visita https://groups.google.com/d/optout.
--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "Spaghetti Open Data" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a spaghettiopendata+unsubscribe@googlegroups.com.

Visita questo gruppo all'indirizzo https://groups.google.com/group/spaghettiopendata.
Per ulteriori opzioni, visita https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages