媒体云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第三方库


热门话题
java Play Framework 2.1中的简单搜索?   java:Springbeans的真正工作原理   java不能从字符串中提取数字   不同管道中的java共享ExecutionHandler   在Java中,如何为扩展comparator的类实现多个comparator方法?   通用混沌Java   java问题:从自定义类获取要添加到驱动程序类的形状   java如何利用HikariCP和Hibernate?   eclipse如何执行Java应用程序?   用户界面Java Swing:如何将JLabel的文本绑定到JTable选定行中的列?   java替换JPanel元素而不添加到面板的末尾?   java Sets根据action命令在按钮组中选择了特定的jradiobutton   在java中如何将从控制台添加的字符串中的元素添加到列表中   处理未在浏览器上运行的Java签名小程序   java如何在我的安卓应用程序中单击任意按钮时禁用音频音调?   编码如何在Java中将十六进制转换为utf8编码的字符串   java JSF Spring安全集成问题   java如何更正Oracle for Windows中的字符?   java Spark结构化流媒体:当前批次落后   java Hibernate根据最匹配的条件排序结果