媒体云cliff api客户端库

mediacloud-cliff的Python项目详细描述


这是一个用于Media Cloud CLIFF-CLAVIN geocoder的简单python客户机。

用法

如果你只是想用这个库和悬崖服务器对话 在某个地方运行,首先安装它

pip install mediacloud-cliff

然后实例化并像这样使用:

fromcliff.apiimportCliffmy_cliff=Cliff('http://myserver.com:8080')my_cliff.parse_text("This is about Einstien at the IIT in New Delhi.")

这将返回如下结果:

{"results":{"organizations":[{"count":1,"name":"IIT"}],"places":{"focus":{"cities":[{"id":1261481,"lon":77.22445,"name":"New Delhi","score":1,"countryGeoNameId":"1269750","countryCode":"IN","featureCode":"PPLC","featureClass":"P","stateCode":"07","lat":28.63576,"stateGeoNameId":"1273293","population":317797}],"states":[{"id":1273293,"lon":77.1,"name":"National Capital Territory of Delhi","score":1,"countryGeoNameId":"1269750","countryCode":"IN","featureCode":"ADM1","featureClass":"A","stateCode":"07","lat":28.6667,"stateGeoNameId":"1273293","population":16787941}],"countries":[{"id":1269750,"lon":79,"name":"Republic of India","score":1,"countryGeoNameId":"1269750","countryCode":"IN","featureCode":"PCLI","featureClass":"A","stateCode":"00","lat":22,"stateGeoNameId":"","population":1173108018}]},"mentions":[{"id":1261481,"lon":77.22445,"source":{"charIndex":37,"string":"New Delhi"},"name":"New Delhi","countryGeoNameId":"1269750","countryCode":"IN","featureCode":"PPLC","featureClass":"P","stateCode":"07","confidence":1,"lat":28.63576,"stateGeoNameId":"1273293","population":317797}]},"people":[{"count":1,"name":"Einstien"}]},"status":"ok","milliseconds":22,"version":"2.4.2"}

您也可以从悬崖内的geonames数据库获取信息:

fromcliff.apiimportCliffmy_cliff=Cliff('http://myserver.com:8080')my_cliff.geonames_lookup(4943351)

这样会得到如下结果:

{"results":{"id":4943351,"lon":-71.09172,"name":"Massachusetts Institute of Technology","countryGeoNameId":"6252001","countryCode":"US","featureCode":"SCH","featureClass":"S","parent":{"id":4943909,"lon":-71.39184,"name":"Middlesex County","countryGeoNameId":"6252001","countryCode":"US","featureCode":"ADM2","featureClass":"A","parent":{"id":6254926,"lon":-71.10832,"name":"Massachusetts","countryGeoNameId":"6252001","countryCode":"US","featureCode":"ADM1","featureClass":"A","parent":{"id":6252001,"lon":-98.5,"name":"United States","countryGeoNameId":"6252001","countryCode":"US","featureCode":"PCLI","featureClass":"A","stateCode":"00","lat":39.76,"stateGeoNameId":"","population":310232863},"stateCode":"MA","lat":42.36565,"stateGeoNameId":"6254926","population":6433422},"stateCode":"MA","lat":42.48555,"stateGeoNameId":"6254926","population":1503085},"stateCode":"MA","lat":42.35954,"stateGeoNameId":"6254926","population":0},"status":"ok","version":"2.4.2"}

开发

如果您想在这个api客户机上工作,那么首先克隆the source repo from GitHub 并安装依赖项

pip install -r requirements.pip

然后将settings.config.sample复制到settings.config并放入 cliff服务器的url和端口。现在你应该可以 发展!

分布

  1. 运行python test.py以确保所有测试通过
  2. 更新cliff/__init__.py
  3. 中的版本号
  4. 在自述文件的版本历史部分做一个简短的注释 关于更改
  5. 运行python setup.py sdist在本地测试版本
  6. 然后运行python setup.py sdist upload -r pypitest以释放 pypi测试服务器的测试版本
  7. 运行pip install -ihttps://testpypi.python.org/pypi mediacloud 然后与python一起使用,以确保测试版本 作品。
  8. 当你准备好推动pypi运行时 python setup.py sdist upload -r pypi
  9. 在某处运行pip install mediacloud-cliff,然后尝试 一定要成功。

版本历史记录

  • v2.1.0:升级到cliff v2.4.2
  • v2.0.2:更新自述文件中的示例
  • v2.0.1:使用url而不是主机/端口初始化
  • v2.0.0:移动到mediacloud命名,带下划线的方法名, 删除不推荐的NLP终结点
  • v1.4.0:升级到cliff v2.4.1,添加对extractcontent的支持 终点
  • v1.3.1:python3的更新
  • v1.3.0:python3的更新,支持客户端文本 替换
  • v1.2.0:指向cliff v2.3.0(更新斯坦福纳有新的 插件架构)
  • v1.1.0:指向cliff v2.2.0(将祖先添加到 geonamesLookuphelper)
  • v1.0.2:pypi的第一个版本

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

推荐PyPI第三方库


热门话题
javascript如何从Java中的seleniun访问Chrome上的PDF查看器DOM?   如何打印字符串中的大写字母数   java使用htmlUnit处理动态html表单   java等待事件分派线程创建的GUI   java如何在屏幕上移动/动画单个子类对象而不移动其他子类?   java拟合是从PRNG到最大-最小范围的结果   java如何隐藏所有其他片段   java OpenGL ES纹理图谱失真   java排队/退队或报价/投票   java step/stp文件在另外两个点之间的距离   java如何设置水平仪栏的动画?   在Flex和Java中压缩和解压缩XML   java如何使用AutoIt安装JRE   java我想删除NavigationView布局上的一个栏   java Android Studio按钮小部件OnClick。找不到函数   java ImageView隐藏和显示   java类型的方法和构造函数未定义   swing Java UDP数据包未从客户端程序到达服务器程序   java如何在我自己的服务器上配置推送通知?