python helper请求api.insee.fr上的sirene api
api-insee的Python项目详细描述
请求sirene api的python助手
API Sirene允许访问法国公司和商业数据库。 自本行政登记册创建以来,实体被记录在案 1973年。要使用此api,必须在 https://api.insee.fr/
你会找到官方文件 here。 这里描述的所有示例都来自官方文档。
安装
您可以使用pip安装帮助程序
pip install api-insee
在python脚本中使用api
fromapi_inseeimportApiInseeapi=ApiInsee(key=# your consumer key,secret=# your consumer secret)
警报器和警报器服务
获取有关警报器编号的信息
data=api.siren('005520135').get()
这个简单的代码调用 https://api.insee.fr/entreprises/sirene/V3/siren/005520135和 返回这些数据:
{"header":{"statut":200,"message":"OK"},"uniteLegale":{"siren":"005520135",..."periodesUniteLegale":[{"dateFin":null,"dateDebut":"2007-11-19","etatAdministratifUniteLegale":"C","changementEtatAdministratifUniteLegale":true,"nomUniteLegale":null,...}...]}}
与siret数相同的逻辑
data=api.siret('39860733300059').get()# call https://api.insee.fr/entreprises/sirene/V3/siret/39860733300059
请求参数
要向请求传递url参数,请使用keyword参数
data=api.siren('005520135',date='2018-01-01').get()# https://api.insee.fr/entreprises/sirene/V3/siren/005520135?date=2018-01-01
多标准搜索
sirene api允许您使用'q'url参数搜索实体。例如 使所有具有codeCommuneEtablissementegal的siren实体 92046您可以执行此请求
data=api.siren(q='unitePurgeeUniteLegage:True').get()
api_insee附带Criteria帮助您撰写论文 请求。
importapi_insee.criteriaasCriteria
标准字段
搜索特定字段
data=api.siren(q=Criteria.Field('unitePurgeeUniteLegale',True)).get()# will search on all entities with unitePurgeeUniteLeage=True# /?q=unitePurgeeUniteLegale:True
可以将多个条件组合在一起。默认情况下,AND 运算符用于每个条件之间。
data=api.siren(q=(Critera.Field('codeCommuneEtablissement',92046),Criteria.Field('unitePurgeeUniteLegale',True))).get()# /?q=codeCommuneEtablissement:92046 AND unitePurgeeUniteLegale:True
或者您可以使用一个单词搜索多个字段
data=api.siren(q={'codeCommuneEtablissement':92046,'unitePurgeeUniteLegale':True}).get()# /?q=codeCommuneEtablissement:92046 AND unitePurgeeUniteLegale:True
您可以使用|和&逻辑运算符指定您的请求
data=api.siren(q=(Criteria.Field('codeCommuneEtablissement',92046)|Criterial.Field('unitePurgeeUniteLegale',True))).get()# /?q=codeCommuneEtablissement:92046 OR unitePurgeeUniteLegale:True
-用作NOT运算符
data=api.siren(q=-Criteria.Field('codeCommuneEtablissement',92046)).get()# /?q=-codeCommuneEtablissement:92046
标准.fieldexact
按精确值搜索字段的步骤
data=api.siren(q=Criteria.FieldExact('demoninationUniteLegale','LE TIMBRE')).get()# /?q=demoninationUniteLegale:"LE TIMBRE"
周期性
可以使用Criteria.Periodic
搜索周期字段data=api.siren(q=Criteria.Periodic(Criteria.Field('activitePrincipaleUniteLegale','84.23Z')|Criteria.Field('activitePrincipaleUniteLegale','86.21Z'))).get()# /?q=periode(activitePrincipaleUniteLegale:84.23Z OR activitePrincipaleUniteLegale:86.21Z)
标准范围
搜索特定范围的值
data=api.siren(q=Criteria.Range('nomUsageUniteLegale','DUPONT','DURANT'))# /?q=nomUsageUniteLegale:[DUPONT TO DURANT]data=api.siren(q=Criteria.Range('nomUsageUniteLegale','DUPONT','DURANT',exclude=True))# /?q=nomUsageUniteLegale:%7BDUPONT TO DURANT%7D
分页
pages()方法返回一个迭代器,允许您从中获取页面 API。要指定每页的结果数,请使用nombre 争论。结果限制在每页10000个。
``` python from api_insee导入apinsee
api=apinsee(key='your-key',secret='your-secret)
请求=api.siren(q={'categorieentreeprise':'pme'})
用于(页索引,页结果) 枚举(request.pages(nombre=1000)):“处理页”结果