法国国民议会网站的Python客户端
项目描述
ANpy:轻松抓取国民议会网站数据
ANpy是一个Python库,用于轻松从http://assemblee-nationale.fr网站抓取数据
忘记丑陋的HTML,只需获取数据
>>> from anpy.dossier import Dossier
>>> url = 'http://www.assemblee-nationale.fr/14/dossiers/republique_numerique.asp'
>>> dossier = Dossier.download_and_build(url)
>>> dossier.title
'Economie : pour une République numérique'
>>> dossier.legislature
14
>>> r.procedure
'PPL'
>>> r.senat_url
'http://www.senat.fr/dossier-legislatif/pjl15-325.html'
>>> r.steps
[{'type': 'AN_PREMIERE_LECTURE', 'acts': [...]}]
支持的功能
ANpy目前提供以下功能
- 修正案解析
- 修正案搜索
- 问题解析
- 问题搜索
- 案卷解析(两种不同的格式)
- 审查解析
ANpy支持Python 3.5。
安装
pip install anpy
文档
文档可在以下网址找到:http://anpy.readthedocs.io/en/latest
命令行界面(CLI)
该软件包中包含了一个名为anpy-cli的脚本,它提供了以下命令
根据URL显示修正案
anpy-cli show_amendement http://www.assemblee-nationale.fr/14/amendements/1847/CION-DVP/CD266.asp
显示给定日期之后的修正案摘要
anpy-cli show_amendements_summary --start-date 2014-06-01
打印给定id_dossier和id_examen的修正案顺序
anpy-cli show_amendements_order 33299 --id-examen 4073
显示一个问题
anpy-cli show_question http://questions.assemblee-nationale.fr/q14/14-73499QE.htm
显示一个法律项目(立法文件)
格式类似于senapy以及lafabriquedelaloi.fr的开放数据
对这种解析器进行了更多的工作,使其能够在许多情况下正常工作
anpy-cli parse http://www.assemblee-nationale.fr/14/dossiers/sante.asp
[
{
"assemblee_id": "14-sante",
"assemblee_legislature": 14,
"assemblee_slug": "sante",
"beginning": "2014-10-15",
"long_title": "Questions sociales et santé : modernisation de notre système de santé",
"steps": [
{
"date": "2014-10-15",
"institution": "assemblee",
"source_url": "http://www.assemblee-nationale.fr/14/projets/pl2302.asp",
"stage": "1ère lecture",
"step": "depot"
},
{
"date": "2015-03-20",
"institution": "assemblee",
"source_url": "http://www.assemblee-nationale.fr/14/ta-commission/r2673-a0.asp",
"stage": "1ère lecture",
"step": "commission"
},
{
"date": "2015-04-14",
"institution": "assemblee",
"source_url": "http://www.assemblee-nationale.fr/14/ta/ta0505.asp",
"stage": "1ère lecture",
"step": "hemicycle"
},
...
功能
- 合并跨立法期的法律项目
- 当可用时从开放数据解析,或者回退到抓取HTML
- 返回一个法律项目数组,因为一个页面可以包含多个法律项目(例如:有机和无机)
您也可以通过提供URL列表来解析多个法律项目
anpy-cli doslegs_urls | anpy-cli parse_many an_doslegs/
显示一个法律项目(格式类似于AN开放数据)
这个解析器仍在开发中
anpy-cli show_dossier http://www.assemblee-nationale.fr/14/dossiers/sante.asp
{
"legislature": "14",
"procedure": "PJL",
"senat_url": "http://www.senat.fr/dossier-legislatif/pjl14-406.html",
"steps": [
{
"acts": [
{
"date": "2014-10-15T00:00:00",
"type": "DEPOT_INITIATIVE",
"url": "http://www.assemblee-nationale.fr/14/projets/pl2302.asp"
},
{
"type": "ETUDE_IMPACT",
"url": "http://www.assemblee-nationale.fr/14/projets/pl2302-ei.asp"
},
{
"date": "2015-03-16T00:00:00",
"type": "PROCEDURE_ACCELEREE"
},
{
"date": "2015-03-20T00:00:00",
"type": "DEPOT_RAPPORT",
"url": "http://www.assemblee-nationale.fr/14/rapports/r2673.asp"
},
{
"date": "2015-03-24T00:00:00",
"type": "TEXTE_COMMISSION",
"url": "http://www.assemblee-nationale.fr/14/ta-commission/r2673-a0.asp"
},
{
"date": "2015-02-11T00:00:00",
"type": "DEPOT_RAPPORT",
"url": "http://www.assemblee-nationale.fr/14/rap-info/i2581.asp"
},
{
...
查找所有文件URL
anpy-cli doslegs_urls
显示一个审查
anpy-cli show_scrutin http://www2.assemblee-nationale.fr/scrutins/detail/(legislature)/14/(num)/1212
运行测试
pip install -U -r test_requirements.txt
pip install -e .
pycodestyle --exclude=tests,docs .
flake8 --exclude=tests,docs .
py.test --cov=anpy
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
anpy-0.2.1.tar.gz (25.6 KB 查看哈希值)
构建分发
anpy-0.2.1-py2.py3-none-any.whl (27.5 KB 查看哈希值)
关闭
anpy-0.2.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c7e2bcb45e0dd0192bff190297bb95042d1193d2e2ebba44367f0e7528c11b39 |
|
MD5 | 0d200c1d79328f52849a405df970fe9a |
|
BLAKE2b-256 | 25a1ad399d963f865408f72867da908d6265050fb97849eea170011e9c91b22c |
关闭
anpy-0.2.1-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4139bfd47a5a5a1bf6f80d20b04eecc35c237a3eeaee33e8069bcd809b11356a |
|
MD5 | 415e8321f94a9873b9472f2e1889e878 |
|
BLAKE2b-256 | 16a837746c5beb77c06902372662d20f0ba743c8aee72ebdba2c2295eeae7176 |