¡Esta es una revisión vieja del documento!
El 19 de Julio realizamos un hackathon en el Ingoberlab 301. Hemos editado este apartado de la wiki para explicar un poco como terminó esa sesión y para tener a mano algo de documentación replicable por terceros. Si se realizan futuras sesiones para sacar más información se podrá añadir aquí.
Ver como extraer los datos a nivel del estado Español en materia de software privativo.
Web fuente de datos: https://contrataciondelestado.es/wps/portal/plataforma
El día 19 de Julio nos reunimos y generamos este script que nos ha permitido conocer por el momento las cifras.
La primera cifra que nos ha salido ha sido esta (desde 2011 hasta la fecha (19/07/2017)):
Comenzamos a usar phantomjs y casperjs para realizar un scrapeo pero encontramos que era posible sacar lo que nos interesaba con un sencillo script en bash. Ese script es este:
#!/bin/bash > result for i in $(seq 2 82) do from=$i to=$((i + 1)) curl 'https://contrataciondelestado.es/wps/portal/!ut/p/b1/jY7LDoIwFES_xQ8w91JaHstaHoUgoALabggLYzA8Nsbvtxq3IrOb5JzMgAa1dZFZPmUewgX01D37W_fo56kb3l07LQ0LISJJ0DvZAZIsqGtHmhozA6glgKzzmS1okzalc0pixERGQVZbzOjOOh9_hOM__wx6GSFfYOniB1j4kMt5vIIymNvyJjzwxLex2B3NUFruqzImFiKFClQuYNRDFPnJnXZ88wK0WWmi/dl4/d5/L2dBISEvZ0FBIS9nQSEh/pw/Z7_AVEQAI930OBRD02JPMTPG21004/act/id=0/p=javax.servlet.include.path_info=QCPjspQCPbusquedaQCPFormularioBusqueda.jsp/361746986280/-/' -H 'Host: contrataciondelestado.es' -H 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'Content-Type: application/x-www-form-urlencoded' -H 'Referer: https://contrataciondelestado.es/wps/portal/!ut/p/b1/jY7LDoIwFES_xQ8w91JaHstaHoWAoALabggLYzA8Nsbvtxq3IrOb5JzMgAa1dZFZPmUewgX01D37W_fo56kb3l07LQ0LISJJ0DvZAZIsqGtHmhozA6glgKzzmS1okzalc0pixERGQVZbzOjOOh9_hOM__wx6GSFfYOniB1j4sJfzeAVlMLflTXjgiW9jsTuaobTMqzImFiKFClQuYNRDFPnJnXZ88wLNMxSz/dl4/d5/L2dBISEvZ0FBIS9nQSEh/pw/Z7_AVEQAI930OBRD02JPMTPG21004/act/id=0/p=javax.servlet.include.path_info=QCPjspQCPbusquedaQCPFormularioBusqueda.jsp/361746969176/-/' -H 'Cookie: JSESSIONID=0000f1MR5TIoe7KbpJbxRgSwlKr:prodnod3' -H 'Connection: keep-alive' -H 'Upgrade-Insecure-Requests: 1' --data 'viewns_Z7_AVEQAI930OBRD02JPMTPG21004_%3Aform1=viewns_Z7_AVEQAI930OBRD02JPMTPG21004_%3Aform1&viewns_Z7_AVEQAI930OBRD02JPMTPG21004_%3Aform1%3Atext71ExpMAQ=&viewns_Z7_AVEQAI930OBRD02JPMTPG21004_%3Aform1%3Amenu1MAQ1=00&viewns_Z7_AVEQAI930OBRD02JPMTPG21004_%3Aform1%3Acombo1MAQ=00&viewns_Z7_AVEQAI930OBRD02JPMTPG21004_%3Aform1%3AtextLugarEjecucion=&CpvorigenmultiplecpvMultiple=FormularioBusqueda&cpvViewmultiplecpvMultiple=%23%7BbeanCpvPpt.cpv%7D&cpvPrincipalmultiplecpvMultiple=&viewns_Z7_AVEQAI930OBRD02JPMTPG21004_%3Aform1%3AcpvMultiple%3AcodigoCpv=&viewns_Z7_AVEQAI930OBRD02JPMTPG21004_%3Aform1%3AtexOrgContMAQ=&viewns_Z7_AVEQAI930OBRD02JPMTPG21004_%3Aform1%3AtextMinFecLimite=&viewns_Z7_AVEQAI930OBRD02JPMTPG21004_%3Aform1%3AtextMaxFecLimite=&viewns_Z7_AVEQAI930OBRD02JPMTPG21004_%3Aform1%3AtexoorganoMAQ=&viewns_Z7_AVEQAI930OBRD02JPMTPG21004_%3Aform1%3Amenu111MAQ=00&viewns_Z7_AVEQAI930OBRD02JPMTPG21004_%3Aform1%3AtextMinFecAnuncioMAQ2=31-12-2010&viewns_Z7_AVEQAI930OBRD02JPMTPG21004_%3Aform1%3AtextMaxFecAnuncioMAQ=19-07-2017&viewns_Z7_AVEQAI930OBRD02JPMTPG21004_%3Aform1%3AtexAdjudicatarioMAQ=&viewns_Z7_AVEQAI930OBRD02JPMTPG21004_%3Aform1%3AtextEstimadoDesde18MAQ=&viewns_Z7_AVEQAI930OBRD02JPMTPG21004_%3Aform1%3AtextEstimado19MAQ=&viewns_Z7_AVEQAI930OBRD02JPMTPG21004_%3Aform1%3AfooterSiguiente=Siguiente&viewns_Z7_AVEQAI930OBRD02JPMTPG21004_%3Aform1%3AidBreadCrumbSeleccionado=&viewns_Z7_AVEQAI930OBRD02JPMTPG21004_%3Aform1%3AidControlPulsadoMultiple=false&javax.faces.ViewState=j_id281%3Aj_id282' -k > a kt=$(cat a | tr "<" "\n"| grep tdImporte | cut -d ">" -f2) echo $kt echo $kt >> result sleep 3 echo "---------$i" done
Para entender su funcionamiento hemos de realizar los siguientes pasos: