用于国会工作的公共域数据采集器,包括立法、修正案和投票。

united-states-congress的Python项目详细描述


##美国/国会

收集有关法案、修正案、唱名表决和其他有关美国国会核心数据的公共域代码。

包括:

  • 来自国会的[正式批量法案状态数据]的数据导入脚本(https://github.com/usgpo/bill-status" rel="nofollow">https://github.com/usgpo/bill status),国会是有关立法寿命和时间的官方信息来源。
  • 参众两院唱名表决的筹码。
  • GPO FDsys的刮刀,大多数立法文件的官方存储库。
  • 一个在国会提名总统的废托马斯刮刀。

阅读github项目wiki中的[文档](https://github.com/unitedstates/congress/wiki" rel="nofollow">https://github.com/unitedstates/congress/wiki)中的内容和架构。

有关此存储库的形成背景,请参阅[埃里克的博客文章](http://sunlightfoundation.com/blog/2013/08/20/a-modern-approach-to-open-data/)。

###设置

此项目使用Python2.7进行测试。

系统依赖性

在ubuntu上,您需要wgetpip,以及一些支持包:

"巴什" sudoapt get安装gitpython devlibxml2 devlibxslt1 devlibz devpython pip

在OS X上,您需要安装开发工具([xcode](https://developer.apple.com/xcode/))和wget

"巴什" brew安装wget

python依赖项

建议您使用虚拟环境进行开发。最简单的方法是安装virtualenv和virtualenvwrapper,必要时使用sudo:

"巴什" sudo pip安装virtualenv sudo pip安装virtualenvwrapper

为此项目创建一个虚拟机:

"巴什" MKVirtualenv大会

并在任何开发会话之前使用:

"巴什" 修井大会

最后,激活虚拟环境后,安装python包:

"巴什" pip安装-rrequirements.txt

###收集数据

开始刮削过程的一般形式是:

< Buff行情> ./run<;data type>;[–force][其他选项]

其中数据类型是:

要从thomas中删除法案、决议和修正案,请运行:

"巴什" /运行fdsys--collections=billstatus 运行账单

法案脚本将批量数据输出到顶级的数据目录中,然后按国会编号、法案类型和法案编号进行组织。将为每个帐单生成两个数据输出文件:json版本(data.json)和xml版本(data.xml)。

###常用选项

默认情况下,调试消息是隐藏的。要包含它们,请使用-log=info或-debug运行。要隐藏偶数警告,请使用-log=error运行。

要通过电子邮件发送错误,请将config.yml.example复制到config.yml并填写smtp选项。当出现解析或执行错误时,脚本将自动使用详细信息。

–force标志适用于所有数据类型,并禁止对网络检索的资源使用缓存。

###数据输出

该脚本将把下载的页面缓存在顶级目录中,并将大容量数据输出到顶级目录中。

将为每个对象生成两个大容量数据输出文件:一个json版本(data.json)和一个xml版本(data.xml)。XML版本试图保持与[govtrack.us](https://www.govtrack.us)多年来提供的XML大容量数据的向后兼容性。添加–govtrack标志以使用govtrack id获得完全向后兼容的输出(否则将使用用于立法者的源id)。

有关输出格式的文档,请参见[Project Wiki](https://github.com/unitedstates/congress/wiki)。

###贡献

带补丁的拉取请求非常棒。强烈鼓励单元测试(示例测试)(https://github.com/unitedstates/congress/blob/master/test/test_bill_actions.py" rel="nofollow">https://github.com/unitedstates/congress/blob/master/test/test_bill_actions.py)。

提交错误的最佳方法是[打开一张罚单](https://github.com/unitedstates/congress/issues)。

###运行测试

运行此项目的单元测试:

"巴什" /测试/运行

###谁在使用这些数据

< P> > [阳光基金会](HeRF=)"http://SunLoundFoundation""Re= ="NoFoLoL>"/http://SunLoundound.com < A/>和[ GoTrace.U]()是该项目的两个主要维护者。

sunlight和govtrack都运行api,在这里您可以通过http:

##公共域

此项目[专用于公共域](许可证)。如[贡献](contribution.md)中所述:

>;该项目在美国属于公共领域,通过[CC0 1.0通用公共域奉献](http://creativecommons.org/public domain/zero/1.0/" rel="nofollow">http://creativecommons.org/publicdomain/zero/1.0/)放弃了全球作品的版权和相关权利。

>;对本项目的所有贡献将在cc0奉献下发布。提交请求即表示您同意遵守此版权权益豁免。

< >[构建状态](https://travis-ci.org/unitedstates/congress.svg?branch=master)(https://travis ci.org/unitedstates/congress

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Hibernate:合并并删除,而不是从数据库中删除实体对象   java如何在WebFilter中有条件地从Mono返回?   java调用mysql c3p0函数   可执行jar Java jar文件加载错误:无法找到或加载主类。类导致的错误:java。lang.ClassNotFoundException:某些东西。班   java如何减少/更改爬网后的延迟?   从其他语言(如Java、PHP、Perl、Python等)调用C/C++代码的最佳方式是什么?   java如何模拟影响对象的void返回方法   当我试图在ubuntu上启动JavaScala时,它抛出了一个异常   java如何正确输出游戏   理解java和C++背景下的JavaScript原型   oracle如何将Java函数转换为postgresql函数   多线程为什么我的java服务器程序在超时后不退出?   java如何使listView中的按钮在单击时工作?   试图将这个嵌套的java forloop转换为python,但我不知道如何转换。有没有一种方法可以像这样为循环执行if语句?   java幂函数在计算器中的应用   如何在java中滚动浏览mysql数据库   在Spring Boot应用程序的JUnit测试中,java没有符合自动连线JPA存储库要求的bean   java如何使用扩展类的JPanel对象?