Proyecto de Scrapy - Poder Judicial de Aguascalientes
pip install psycopg2
pip install scrapy
# pip install tabula-py
git clone https://github.com/LuisEGR/scrapy_aguascalientes.git
cd scrapy_aguascalientes
- Spider ListaAcuerdos
- Spider LeyesEstatales
- Spider AgendaAudiencias
- Spider Notificaciones
- Spider TocasElectorales
- Pipeline para guardar items en DB-PostgreSQL
Encargada de hacer web scraping de la página de acuerdos, la tabla de la página en sí está hecha con un JSON, así que se obtiene directamente el JSON y posteriormente se procesa
URL: http://serviciosweb.poderjudicialags.gob.mx/Majat/Acuerdos/GetListaDeAcuerdos
scrapy crawl ListaAcuerdos
Un arreglo de elementos conformados de la siguiente forma:
{
"Url": "http://serviciosweb.poderjudicialags.gob.mx/Majat/Acuerdos/GetListaDeAcuerdos",
"Fecha": "19-10-2017",
"Contenido": {
"0647/2016": {
"AcuerdoID": 3026340,
"Area": "JUZGADO QUINTO DE LO FAMILIAR",
"Materia": "FAMILIAR",
"Naturaleza": "SECRETO",
"Partes": "",
"Extracto": ""
}
}
},
Descarga todos los PDF que se encuentran en el contenedor de "Leyes Estatales" y los guarda en el directorio ./files/leyes_estatales
scrapy crawl LeyesEstatales
URL: http://poderjudicialags.gob.mx/JuzgadoVirtual/AgendadeAudiencias
scrapy crawl AgendaAudiencias
Un arreglo de elementos conformados de la siguiente forma:
{
"Url": "http://web2.poderjudicialags.gob.mx:81/servicios/agenda/consagenda.cfm",
"Fecha": " 20/10/2017",
"Contenido": {
"0001/2016": {
"hora": " 09:00:00",
"documento": "EXPEDIENTE PRINCIPAL ",
"num_origen_tramite": " 0001/2016 JUICIO UNICO // DIVORCIO INCAUSADO",
"audiencia": "INFORMACION TESTIMONIAL "
}
}
}
Así como el archivo pdf que se guarda en ./files/
Se hacer un recorrido para buscar todos los números de acuerdo del año 2017, comenzando desde 0000/2017 hasta 9999/2017 para Notificaciones Penales y Notificaciones Civiles
URL: http://poderjudicialags.gob.mx/JuzgadoVirtual/Notificaciones
scrapy crawl Notificaciones
Un arreglo de elementos conformados de la siguiente forma:
{
"Url": "http://web2.poderjudicialags.gob.mx:81/servicios/notificaciones/consnot.cfm",
"Fecha": "09/08/2017",
"Contenido": {
"0001/2017": {
"fecha_gen": "09/08/2017\r\n ",
"estatus_f_real": "REALIZADAS / 11/08/2017\r\n ",
"persona_a_notificar": "RENÉ SÁNCHEZ RAMOS /\r\n AUDIENCIA CONFESIONAL ",
"domicilio": "AVENIDA DE LOS MAESTROS (ESQUINA CON CALLE NAVARRA) 2010 /\r\n EL DORADO 2A SECCION",
"f_aud_f_juz": "Ago 24 2017-14/08/2017"
}
}
}
Hace un recorrido por todas las url de la página y si está es un pdf lo descarga a la carpeta ./files/tocas_electorales, sino entra a dicha url y repite el proceso
URL: http://poderjudicialags.gob.mx/SalaAdministrativa/TocasElectorales
scrapy crawl TocasElectorales
Nota: Para extraer tablas de el arhcivo PDF aún no puedo hacerlo funcionar, encontré una librería tabula-py, pero da error con el archivo que se baja de la página de agenda de audiencias.