Skip to content

Commit

Permalink
Merge 2e816e1 into 1e220c4
Browse files Browse the repository at this point in the history
  • Loading branch information
aguilerapy committed Mar 15, 2021
2 parents 1e220c4 + 2e816e1 commit 492ec08
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 9 deletions.
11 changes: 9 additions & 2 deletions docs/spiders.rst
Original file line number Diff line number Diff line change
Expand Up @@ -680,12 +680,19 @@ Malta
Mexico
------

.. autoclass:: kingfisher_scrapy.spiders.mexico_administracion_publica_federal.MexicoAdministracionPublicaFederal
.. autoclass:: kingfisher_scrapy.spiders.mexico_administracion_publica_federal_api.MexicoAdministracionPublicaFederalAPI
:no-members:

.. code-block:: bash
scrapy crawl mexico_administracion_publica_federal
scrapy crawl mexico_administracion_publica_federal_api
.. autoclass:: kingfisher_scrapy.spiders.mexico_administracion_publica_federal_bulk.MexicoAdministracionPublicaFederalBulk
:no-members:

.. code-block:: bash
scrapy crawl mexico_administracion_publica_federal_bulk
.. autoclass:: kingfisher_scrapy.spiders.mexico_grupo_aeroporto.MexicoGrupoAeroporto
:no-members:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,15 @@
from kingfisher_scrapy.util import parameters


class MexicoAdministracionPublicaFederal(IndexSpider):
class MexicoAdministracionPublicaFederalAPI(IndexSpider):
"""
Domain
Administración Pública Federal (APF)
Bulk download documentation
https://datos.gob.mx/busca/dataset/concentrado-de-contrataciones-abiertas-de-la-apf
Administración Pública Federal (APF): Secretaria de la Función Pública (SFP) - Secretaría de Hacienda y Crédito
Público (SHCP)
API documentation
https://www.datos.gob.mx/busca/dataset/api-de-contrataciones-abiertas-de-la-apf
"""
name = 'mexico_administracion_publica_federal'
name = 'mexico_administracion_publica_federal_api'

# BaseSpider
root_path = 'results.item'
Expand All @@ -26,5 +27,5 @@ class MexicoAdministracionPublicaFederal(IndexSpider):
formatter = staticmethod(parameters('page'))

def start_requests(self):
url = 'https://api.datos.gob.mx/v1/contratacionesabiertas'
url = 'https://api.datos.gob.mx/v2/contratacionesabiertas'
yield scrapy.Request(url, meta={'file_name': 'page-1.json'}, callback=self.parse_list)
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import scrapy

from kingfisher_scrapy.base_spider import CompressedFileSpider
from kingfisher_scrapy.util import components, handle_http_error


class MexicoAdministracionPublicaFederalBulk(CompressedFileSpider):
"""
Domain
Administración Pública Federal (APF): Secretaría de Hacienda y Crédito Público (SHCP)
Bulk download documentation
https://datos.gob.mx/busca/dataset/concentrado-de-contrataciones-abiertas-de-la-apf
"""
name = 'mexico_administracion_publica_federal_bulk'

# BaseSpider
root_path = 'item'

# SimpleSpider
data_type = 'release'

def start_requests(self):
yield scrapy.Request(
'https://datos.gob.mx/busca/api/3/action/package_search?q=concentrado-de-contrataciones-abiertas-de-la'
'-apf',
meta={'file_name': 'list.json'},
callback=self.parse_list
)

@handle_http_error
def parse_list(self, response):
data = response.json()
for result in data['result']['results']:
for resource in result['resources']:
if resource['name'].endswith('JSON.') and resource['format'].upper() == 'JSON':
yield self.build_request(resource['url'], formatter=components(-1))
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@


class MexicoPlataformaDigitalNacional(CompressedFileSpider):

"""
Domain
Plataforma Digital Nacional
Expand Down

0 comments on commit 492ec08

Please sign in to comment.