l'XPath per arrivare alla tabella dei documenti è:
//*[@id='p_p_id_jcitygovalbopubblicazioni_WAR_jcitygovalbiportlet_']/div/div[2]/div/div[2]/table/tr
gli apici singoli servono a non far confondere googlesheet
l'XPath qui sopra serve a listare le intestazioni della tabella:
per listare invece i link a ciascun documento occorre tenere presente che l'Xpath
//*[@id='p_p_id_jcitygovalbopubblicazioni_WAR_jcitygovalbiportlet_']/div/div[2]/div/div[2]/table/tr[2]/td[3]/a/@href
genererà due link , uno per il doc firmato e uno per quello non firmato
il fatto che siano 4, è riportato nella pagina dell'Albo Pretorio di partenza , xpath: //td[5]
=IMPORTxML(A1;"//td[5]")
dove A1 era al solito:
http://crema.trasparenza-valutazione-merito.it/web/trasparenza/papca-ap/-/papca/igrid/1489180872/1489180071
i 4 doc si estraggono usando come _query di importxml queste:
questi xpath generano 7 link a pdf: il primo un solo link, gli altri due ciascuno.
Si osserva che i link sono molto lunghi, ma differiscono solo in due posizioni, utile a sapersi per automatizzare lo scraping:
- dove c'è scritto false come valore di signed (dal carattere 308)
- dove c'è l'identificativo del documento (lo stesso per signed e non signed) : dal carattere 367 se c'era true o dal carattere 368 se c'era false:
=STRINGA.ESTRAI(F15;SE(H15="firmato";367;368);7)
o meglio:
=STRINGA.ESTRAI(F13;SE(STRINGA.ESTRAI(F13;308;5)="true&";367;368);7)
dove F13 contiene il link al documento e viene restituito l'id del documento:
link al gsheet delle prove:
https://docs.google.com/spreadsheets/d/12GpD22t8HFvpJ3vXNrzvCk0YdohAm7kjPM0ywLhXCIU/edit?usp=sharing

Nessun commento:
Posta un commento