用于国会工作的公共域数据采集器,包括立法、修正案和投票。
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上,您需要wget,pip,以及一些支持包:
"巴什" sudoapt get安装gitpython devlibxml2 devlibxslt1 devlibz devpython pip在OS X上,您需要安装开发工具([xcode](https://developer.apple.com/xcode/))和wget
"巴什" brew安装wgetpython依赖项
建议您使用虚拟环境进行开发。最简单的方法是安装virtualenv和virtualenvwrapper,必要时使用sudo:
"巴什" sudo pip安装virtualenv sudo pip安装virtualenvwrapper为此项目创建一个虚拟机:
"巴什" MKVirtualenv大会并在任何开发会话之前使用:
"巴什" 修井大会最后,激活虚拟环境后,安装python包:
"巴什" pip安装-rrequirements.txt###收集数据
开始刮削过程的一般形式是:
< Buff行情> ./run<;data type>;[–force][其他选项]其中数据类型是:
- 法案(参见[法案](https://github.com/unitedstates/congress/wiki/bills))和[修正案](https://github.com/unitedstates/congress/wiki/amendments)
- 投票(参见[投票](https://github.com/unitedstates/congress/wiki/vots)
- 提名(参见[提名](https://github.com/unitedstates/congress/wiki/nominations))
- 委员会会议(参见[委员会会议](https://github.com/unitedstates/congress/wiki/committee-meetings" rel="nofollow">https://github.com/unitedstates/congress/wiki/committee meetings)
- fdsys(参见[bill text](https://github.com/unitedstates/congress/wiki/bill text))
- 深度账单(参见[bill text](https://github.com/unitedstates/congress/wiki/bill text)
- 法规(参见[法案](https://github.com/unitedstates/congress/wiki/bills)和[法案文本](https://github.com/unitedstates/congress/wiki/bill text)
要从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:
- [govtrack.us api](https://www.govtrack.us/developers/api)
- [阳光大会API](http://sunlightlabs.github.io/congress/)
##公共域
此项目[专用于公共域](许可证)。如[贡献](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)