Comments (48)
@ebergam funziona, solo che nel frattempo è cambiato l'albo di Amatrice.
Usa questo https://docs.google.com/spreadsheets/d/1JbSBnZoqS1rrW1d3JCGe6NMkV2A-wNkhkuVVYU2bd4A/edit?usp=sharing
from albopop-enhanced.
@ebergam questa la segnalazione ricevuta per Amatrice: http://albopop.it/comune/amatrice/#comment-2906270429
La aggiungo, perché è una cosa bella
from albopop-enhanced.
La soluzione è semplice: gestire bene i tag <category>
previsti dal formato RSS, sia a livello di <channel>
(es. comune, provincia, regione, tipologia di pa, latitudine e longitudine), che a livello di <item>
(es. post-terremoto), magari condividendo un set di domini (attributo domain) predefinito. Ma la valorizzazione di quei tag è a carico degli scraper...
from albopop-enhanced.
falla! 💃
from albopop-enhanced.
@jenkin costruisci un esempio ciao mondo per un feed RSS tipo, e poi per l'implementazione mi ci metto per il momento io?
from albopop-enhanced.
Prendo come spunto il feed di Amatrice, eliminando i tag personalizzati di feedburner. L'ideale sarebbe sfruttare l'attributo domain del tag <category>
(vedi qui), ma non so bene come farlo al meglio... :)
<channel>
<title>AlboPOP Amatrice</title>
<link>https://script.google.com/macros/s/AKfycbwnSCtl7mPwzyjt1CyHhkmSmciwqOuBDz6A-1m78_Uu2ej--xam/exec</link>
<description>*non ufficiale* RSS feed dell'Albo Pretorio di Amatrice</description>
<language>it</language>
<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>
<image><link>http://creativecommons.org/licenses/by/3.0/</link>
<url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
<category domain="comune">Amatrice</category>
<category domain="provincia">Rieti</category>
<category domain="regione">Lazio</category>
<category domain="latitudine">42.629381</category>
<category domain="longitudine">13.288372</category>
<category domain="tipologia_pa">Comune</category>
<item>
<title>VINCOLO IDROGEOLOGICO. SIG. RAPONI SERGIO.</title>
<link>http://halleyweb.com/c057002/mc/mc_gridev_dettaglio.php?x=&interno=1&id_pubbl=5772</link>
<description>VINCOLO IDROGEOLOGICO. SIG. RAPONI SERGIO.</description>
<pubDate>Mon, 22 Aug 2016 10:00:00 +0000</pubDate>
<guid>http://halleyweb.com/c057002/mc/mc_gridev_dettaglio.php?x=&interno=1&id_pubbl=5772</guid>
<category domain="custom">Post-terremoto 24 agosto 2016</category>
</item>
</channel>
from albopop-enhanced.
Hmm, c'è comunque da gestire opportunamente la possibilità di indicare valori multipli di location ed eventualmente aggiungere la variabile generica category: https://github.com/ondata/albopop-enhanced/blob/develop/feed/fromes.inc.php.
from albopop-enhanced.
@jenkin ho fatto un piccolo avanzamento sulla parte di canale http://feeds.feedburner.com/AlbopopAmatrice
Per ora sto usando le API di OpenCage in modo da stare open, per estrarre provincia, regione e coppia di coordinate. Valori come LAZ
per la regione sono quelli esposti da OpenCage.
C'è da allineare i vari script, ma si fa. Inizierò dal fare un'anagrafica degli script.
from albopop-enhanced.
@aborruso @jenkin che faccio mi fermo finché non abbiamo capito il metodo da tenere? Anzi magari continuo ma senza buttarli su feedburner tenendo traccia degli script google in un'altra colonna, così poi facciamo prima ad andarli a prendere?
from albopop-enhanced.
@aborruso @jenkin Ora ho visto bene cosa volete fare. Io mi sono fermato prima di toccare feedburner perché non ho capito come aggiungere quei tag a posteriori (date un occhio al foglio). Ma volete modificare lo script di matteo? Se inseriamo altre categorie nel foglio meta colonna G e qua in qualche modo settiamo la categoria in questa parte:
function doGet() {
var ss = SpreadsheetApp.openById(ID_SPREADSHEET);
var metaSheet = ss.getSheetByName('meta');
var RSSFeedTitle = metaSheet.getRange('G1').getValue();
var RSSFeedURL = decodeURIComponent(metaSheet.getRange('G2').getValue().trim());
var RSSFeedDesc = metaSheet.getRange('G3').getValue();
var dataSheet = ss.getSheetByName('clean');
var rss=makeRss();
rss.setTitle(RSSFeedTitle);
rss.setLink(RSSFeedURL);
rss.setDescription(RSSFeedDesc);
rss.setLanguage('it');
rss.setAtomlink(RSSFeedURL);
for (var i=2; i < 1000; i++) {
var riga=dataSheet.getRange(i,1,1,3).getValues();
var myguid=riga[0][I_HREF];
var titolo=riga[0][I_TITLE];
var pDate=riga[0][I_PUBDATE];
//Logger.log('Riga ' + i + ' myguid ' + myguid);
if (myguid.length == 0) {
break;
}
//var pattern = /(\d{2})\/(\d{2})\/(\d{4})/;
//var pDateFix=pDate.replace(pattern,'$2/$1/$3')
var pDateFix=pDate;
var pubDateDate = new Date(pDateFix + " 12:00");
rss.addItem({title: titolo,
guid:myguid,
link: myguid,
description: titolo,
pubDate: pubDateDate
});
}
var rssStr=rss.toString();
//Logger.log(rssStr)
return ContentService.createTextOutput(rssStr).setMimeType(ContentService.MimeType.RSS);
}
from albopop-enhanced.
caro @ebergam ,
ci sono da modificare gli script. Uno molto usato è quello di Matteo e per quelli della zona del sisma abbiamo usato questi.
Io ho fatto proprio come dici. Ho aggiunto nel foglio meta questi valori:
tipologia_pa > Comune
comune > Amatrice
provincia > RI
regione > LAZ
latitude > 42.6292367
longitude > 13.2891755
E modificato così lo script (che è ancora brutto e rozzo):
var comune = metaSheet.getRange('F5').getValue();
var comune_value = metaSheet.getRange('G5').getValue();
var provincia = metaSheet.getRange('F6').getValue();
var provincia_value = metaSheet.getRange('G6').getValue();
var regione = metaSheet.getRange('F7').getValue();
var regione_value = metaSheet.getRange('G7').getValue();
var latitudine = metaSheet.getRange('F8').getValue();
var latitudine_value = metaSheet.getRange('G8').getValue();
var longitudine = metaSheet.getRange('F9').getValue();
var longitudine_value = metaSheet.getRange('G9').getValue();
ch.addContent(createElement('category', tipologia_pa_value)
.setAttribute('domain',tipologia_pa)
);
ch.addContent(createElement('category', comune_value)
.setAttribute('domain',comune)
);
ch.addContent(createElement('category', provincia_value)
.setAttribute('domain',provincia)
);
ch.addContent(createElement('category', regione_value)
.setAttribute('domain',regione)
);
ch.addContent(createElement('category', latitudine_value)
.setAttribute('domain',latitudine)
);
ch.addContent(createElement('category', longitudine_value)
.setAttribute('domain',longitudine)
);
Qui trovi il foglio d'esempio che puoi copiare https://docs.google.com/spreadsheets/d/1Ywh38OU49rdBSZ_RgShaztgpvsPNbzzBXlj3EKqesCA/edit?usp=sharing
Al momento l'albo di Amatrice si sta svuotando
from albopop-enhanced.
Grazie mille @aborruso, esattamente quello che mi serviva per proseguire! Come mai l'hanno svuotato secondo te? Io intanto sistemo col nuovo script quelli già fatti e aggiorno il tutto. Poi cerco altre liste di comuni terremotati per andare avanti.
Cheers
from albopop-enhanced.
@aborruso scusa, mi sento stupido, ma mi sono incagliato sulla formattazione della casella dove faccio l'import in lat e lng. Ho impostato plain text ma quando fa l'import la mangia come numero e sballa. Non riesco a vedere da te che non sono in edit. Come l'hai impostata?
from albopop-enhanced.
@ebergam ho impostato il foglio all'americana, che in qualche modo è più "standard"
from albopop-enhanced.
2016-09-07 15:29 GMT+02:00 Enrico Bergamini [email protected]:
Come mai l'hanno svuotato secondo te?
Non ne ho idea. Magari perché sono items scaduti (in albo dopo alcuni
giorni, in dipendenza dal tipo di pubblicazione, l'elemento deve essere
rimosso dalla pubblicazione).
Il tempo passa, e probabilmente i meccanismi di rimozione dalla
pubblicazione funzionano bene. Ma sono automatici, e non hanno bisogno di
personale che ci lavori sopra da un postazione.
Mentre per inserire nuovi elementi ci deve essere il personale disponibile
e una postazione di lavoro. E per ora, è dura :(
from albopop-enhanced.
Cmq io farei una nuova tabella. Colonna 1 = url singolo albopop, da colonna 2 in poi tutte le classificazioni... una specie di anagrafica degli albi, senza complicarci la vita...
Credo che sia la soluzione più semplice, nonché la più duttile ed efficace. Non voglio che mi si dica grazie per questo eh :D sux @jenkin
from albopop-enhanced.
@aborruso occhio, lo script che abbiamo usato ieri non funziona bene. Se vedi https://docs.google.com/spreadsheets/d/1UJJk1Kz-klJBvyu0EdPGJ036UAqqn4Ntc0INy-nMuE0/edit#gid=0 nella colonna 'controllato' ho messo messo i problemi. Generalmente inverte la data e non mette le categorie
from albopop-enhanced.
@ebergam mi dai accesso in scrittura e mi scrivi qui l'URL di uno spreadsheet in cui ci sono i problemi di cui parli?
Grazie
from albopop-enhanced.
Caro @ebergam ho fatto delle piccole modifiche nel foglio di Arquata del Tronto. Non ho cambiato nulla nello script, ma due sono stati gli elementi essenziali:
- ho introdotto una colonna (era così in Amatrice) dove faccio in modo che la data sia già in formato RFC-822. L'ho fatto in modo arzigogolato e puoi cambiare le funzioni, ma basta che sia come
Tue, 06 Sep 2016 00:00:00 +0200
; - le categorie non si vedevano perché delle volte è necessario forzare un refresh, pubblicando una nuova versione (vedi immagine sotto) della web app.
Una volta fatto il geocoding, sfruttando opencage, rimuovi per favore il calcolo e appiattisci il testo. In questo modo non verranno fatte centinaia di chiamate a OpenCage. Che è free fino a un certo limite. Tanto il comune non si sposta :)
from albopop-enhanced.
@aborruso fatto! Grazie mille di nuovo :) @nelsonmau dunque qui: https://docs.google.com/spreadsheets/d/1UJJk1Kz-klJBvyu0EdPGJ036UAqqn4Ntc0INy-nMuE0/edit#gid=0 c'è la tabella con quelli del terremoto fatti finora. L'importante è avere queste informazioni ordinate poi si possono aggiungere tutte le varie colonne per fare un'anagrafica più precisa
from albopop-enhanced.
grazie @ebergam, riuscite con quel maraglio di @jenkin a mettere online una versione "solo-sisma" del nostro albopop enhanched?
from albopop-enhanced.
Ok, direi che ci siamo, ma per mettere tutto in piedi devo fare delle modifiche alla configurazione di logstash e (temo) anche al plugin logstash-input-rss che avevo già modificato a suo tempo...
from albopop-enhanced.
Scusate ragazzi, mi sono reso conto ora che c'è stato un equivoco... i tag <category>
vanno bene, ma devono stare dentro ogni <item>
! Lo so che sarebbero ripetuti tali e quali per tutti gli item, ma è fondamentale perché poi tutti i feed vengono aggregati in uno solo e i metadati associati ai singoli feed si perdono in quello aggregato. Rimangono invece quelli associati ai singoli item... @aborruso @ebergam
from albopop-enhanced.
@jenkin ok. Ma sono completamente bollito? Nello schema che ci hai proposto qui non stanno dentro il channel?
A breve modifico lo script. Grazie
from albopop-enhanced.
E me so' sbagliato... 👎
from albopop-enhanced.
Intanto ho aggiunto al feed il supporto alle tag multiple (esempio per i comuni del terremoto)...
from albopop-enhanced.
Ed ecco come verrebbe il motore di ricerca sui soli comuni colpiti dal terremoto (comuni identificati per nome come tag): http://dev.dataninja.it/AlboPOP-enhanced/ :)
from albopop-enhanced.
Grande @jenkin. Quindi è definitivo o io e @aborruso dobbiamo modificare lo script?
from albopop-enhanced.
@ebergam è necessario che lo scraper produca un rss con tutte le informazioni utili in modo strutturato (es. in forma di category), io sono arrivato a quel risultato con un workaround (editando a mano i nomi dei feed dell'aggregatore). Ergo c'è da mettere i tag category che avete già inserito all'interno di ogni item, non solo a livello di channel... :)
from albopop-enhanced.
Ecco qua, ho scritto una bozza di specifiche: https://github.com/jenkin/albo-pop/blob/albopop-specs/specs.md... :)
from albopop-enhanced.
Caro @jenkin che bel lavoro!
Ecco una prima versione: http://feeds.feedburner.com/AmatriceCimarellix
Manca ancora qualcosetta ma mi sembra che ci siamo.
Per @ebergam: qui c'è il foglio (e il codice) di cui puoi fare copia https://docs.google.com/spreadsheets/d/10FPEBTWhRWcaEu6OzlVXY3lxUnZXMuHoE6-_D_aQG7k/edit?usp=sharing
Che piacere fare questa cosa
from albopop-enhanced.
@jenkin ottimo, grazie! @aborruso nel weekend ci lavoro e vedo di aggiornare tutti quelli del Centro Italia. (ho dato uno sguardo veloce al foglio e non funziona però, occhio) :)
from albopop-enhanced.
Aggiornate le specifiche del feed! :)
from albopop-enhanced.
@jenkin nell'output di esempio, per l'item, c'è due volte il type con i due significati previsti
from albopop-enhanced.
Il primo è sbagliato, lo tolgo! :)
from albopop-enhanced.
Intanto funziona! :) In TTRSS vengono riconosciute correttamente le categorie del channel e vengono associate ai singoli item! :)
from albopop-enhanced.
Entro domani sera aggiorno lo script. Scusami @ebergam se non riesco a fare prima.
@jenkin tutto questo mi piace molto
from albopop-enhanced.
@aborruso nessun problema, io ho tempo tutto il fine settimana, quando hai lo script mi dici da dove replicarlo su tutti gli sheets, senza fretta, buon weekend ;)
from albopop-enhanced.
@aborruso che si dice? :)
from albopop-enhanced.
@aborruso andy forse ho perso un passaggio io, devo adattare gli altri da questo che è già pronto?
https://docs.google.com/spreadsheets/d/10FPEBTWhRWcaEu6OzlVXY3lxUnZXMuHoE6-_D_aQG7k/edit#gid=375343210
Se invece non hai lo script so che sei impegnatissimo nessuna fretta, solo che tra tutti gli sheets mi son perso :)
from albopop-enhanced.
caro @ebergam riemergo. Ecco il feed di Amatrice: http://feeds.feedburner.com/AlbopopAmatrice
Qui lo sheet con lo script da cui partire.
@jenkin ti scrivo da un'altra parte su una faccenda di specifice
from albopop-enhanced.
@aborruso e @ebergam finora io ho questi feed legati al terremoto...
Quando gli scraper sono tutti aggiornati alle nuove specifiche, mi avvertite? Così sistemo la strutturazione dei dati e siamo a posto... :)
from albopop-enhanced.
@jenkin sei nei nostri pensieri sempre e sarai il primo a saperlo :)
from albopop-enhanced.
@aborruso @ebergam mi pare ci sia un piccolo errore, le categorie a livello di channel hanno nel domain l'url alle specifiche a livello di item...
from albopop-enhanced.
@jenkin colpa mia e del balletto item/channel :)
Ho aggiornato script e al prossimo aggiornamento la struttura sarà corretta.
from albopop-enhanced.
@aborruso Di tutti o devo fare un giro di script anch'io?
Il mercoledì 12 ottobre 2016, Andrea Borruso [email protected] ha
scritto:
@jenkin https://github.com/jenkin colpa mia e del balletto item/channel
:)Ho aggiornato script e al prossimo aggiornamento la struttura sarà
corretta.—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#7 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/ANKE2py7r9F-zAxoAEtWwSrT9NNGh2Hkks5qzVX6gaJpZM4J1ks3
.
Sorry for typos sent by mobile
from albopop-enhanced.
Ho poi aggiornato il tutto, ma devo ricontrollare i risultati, mi pare che norcia rompa troppo le scatole... :)
from albopop-enhanced.
On 13 October 2016 at 12:59, Alessio Cimarelli [email protected]
wrote:
Ho poi aggiornato il tutto, ma devo ricontrollare i risultati, mi pare che
norcia rompa troppo le scatole... :)Ale grazie :)
Ho appena visto Norcia
http://feeds.feedburner.com/AlbopopNorcia?format=xml e mi sembra buono.
Cosa ha che non va?
Questa issue la chiuderei e ora andrei di fino con segnalazioni più
specifiche.
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
from albopop-enhanced.
Related Issues (16)
- Tracker ideas
- Duplicated documents
- Dynamic urls and sharing buttons
- Other use cases
- Ricerca su albopop.it e reindirizzamenti HOT 9
- Aggiungere i feed dei comuni comuni colpiti dal sisma HOT 1
- Stack tecnologico e hosting HOT 6
- Campo di ricerca per le tag HOT 1
- Versione Mobile da rivedere interamente
- Aggiungere in 'lista documenti' il conteggio dei risultati della ricerca
- Feature nuova: aggiungere paginazione HOT 3
- Un caso drammatico di atto HOT 3
- Categoria "Metro" per albopop città metropolitane
- Feed protetto da password HOT 1
- Nome feed sbagliato per Bari
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from albopop-enhanced.