Discussioni modulo:Sandbox/ValterVB/Istat/Data: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nuova pagina: == Come si usa == Modulo da caricare su AWB per aggiornare il bilancio demografico ISTAT. Vede...
 
da aggiornare
 
(3 versioni intermedie di 2 utenti non mostrate)
Riga 1:
== Non più funzionante ==
Questa procedura sarebbe da modificare perché i dati ISTAT sono cambiati sul sito. (24/11/2023)
 
== Come si usa ==
[[Wikipedia:AutoWikiBrowser/Manuale#Tools|Modulo]] da caricare su [[Wikipedia:AutoWikiBrowser|AWB]] per aggiornare il bilancio demografico ISTAT. Vedere {{en}}[[:en:Wikipedia:AutoWikiBrowser/Custom Modules|Wikipedia:AutoWikiBrowser/Custom Modules]] per maggiori informazioni sulla creazione dei moduli.
Riga 46 ⟶ 49:
{
//Richiesta GET al sito ISTAT
// es. link: http://demo.istat.it/bilmens2020genbilmens/query1.php?&allrp=4&Pro=1&periodo=5
string Link = "http://demo.istat.it/bilmens" + Anno + "gen/query1.php?&allrp=4&Pro=" + idProvincia + "&periodo=" + Mese;
System.IO.Stream data = client.OpenRead(Link);
Riga 55 ⟶ 58:
if (result.IndexOf("Bilancio demografico") != -1)
{
//Estrazione titolo della pagina ISTAT, è la prima <table>
//Attualmente non usato ma si può usare come testo per il ref
//es: Bilancio demografico anno 2020 - Aprile (dati provvisori)
Riga 67 ⟶ 70:
Title = table1.Substring(from + 3, to - from - 3);
}
//Estrazione dei risultati, è la seconda <table>
 
from = result.IndexOf("<table", result.IndexOf("</table>"));
to = result.IndexOf("</table>", from);
Riga 75 ⟶ 78:
string ColumnExpression = "<td[^>]*>(.*?)</td>";
 
MatchCollection Rows = Regex.Matches(table2, RowExpression, RegexOptions.Multiline | RegexOptions.Singleline);
foreach (Match Row in Rows) //Loop sulle righe della tabella
{
if (Row.Value.IndexOf("<brtd class=\"f10t1\">ComuneCodice comune</td>") == -1) //Escludo l'intestazione
{
if (Row.Value.IndexOf("Maschi") != -1) { break; } //Dati dei soli maschi attualmente non serve
Riga 84 ⟶ 87:
 
MatchCollection Columns = Regex.Matches(Row.Value, ColumnExpression);
if (Columns[0].Groups[1].Captures[0].Value != "Totale") //Loop sulle colonne della riga della tabella
{
string tmp = "[\"" + Columns[0].Groups[1].ToString() + "\"]={" + Columns[10].Groups[1].ToString() + "," + Anno + "," + Mese + "," + idProvincia + "}";
Ritorna alla pagina "Sandbox/ValterVB/Istat/Data".