Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Come interrogo google a partire da una lista csv #189

Open
gbvitrano opened this issue Sep 26, 2021 · 2 comments
Open

Come interrogo google a partire da una lista csv #189

gbvitrano opened this issue Sep 26, 2021 · 2 comments

Comments

@gbvitrano
Copy link
Member

Buonasera :-)
Come si può estrarre da google l'url del sito ufficiale di un gruppo Comuni?

2021-09-26_15h16_10

Elenco dei comuni da con url mancante
stemmi_comuni_italiani - comuni_no_url.csv

@aborruso
Copy link
Member

aborruso commented Sep 26, 2021

Caro @gbvitrano si dovrebbero usare le API di Google dedicate.

Qui ti do una risposta rapida basata su googler, un tool a riga di comando. Lo puoi installare o tramite pip, o usando uno degli installer per linux che trovi qui https://github.com/jarun/googler/releases/tag/v4.3.2

A partire da un file che contiene soltanto i nomi dei comuni e con il ritorno a capo alla linux (solo LF)

Comune di Burgos
Comune di Buriasco
Comune di Burolo
Comune di Buronzo
Comune di Busachi
… with 56 more lines

puoi fare un ciclo che ogni riga usa googler e raccoglie l'output

#!/bin/bash

### requisiti ###
# googler https://github.com/jarun/googler
# miller https://github.com/johnkerl/miller
### requisiti ###

set -x

# se il file dei risultati esiste già, cancellalo
if [ -f ./result.jsonlines ]; then
  rm ./result.jsonlines
fi

# per ogni comune in lista cerca su google ed estrai il primo risultato
while read p; do
  googler -n 1 -c it -l it-IT --json "$p" >./tmp.json
  title=$(jq <tmp.json -r '.[0].title')
  URL=$(jq <tmp.json -r '.[0].url')
  # inserisci l'output in un file jsonlines
  echo '{"stringa":"'"$p"'","URL":"'"$URL"'","title":"'"$title"'"}' >>./result.jsonlines
done <./lista.txt

# converti il jsonlines in un file csv
mlr --j2c unsparsify ./result.jsonlines >./result.csv

@gbvitrano
Copy link
Member Author

Grazie :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants