来自mw api作者的微型mediawikiapi客户端库

pywikiapi的Python项目详细描述


pywikiapi:一个很小的python mediawiki api库

这是一个极简主义的库,它处理一些核心的MiaWiKi API复杂度,如处理连续性、登录、错误和警告,但不强加任何额外的抽象层,允许您以最理想的方式直接使用MWAPI的每一个特征。

这个库是由mediawiki api的原始作者自己编写的,并试图解决原始api设计中的一些错误……有些事情本应该做得不同。:)

frompywikiapiimportwikipedia# Connect to English Wikipediasite=wikipedia('en')# Iterate over all query results as they are returned# from the server, handling continuations automatically.# (pages whose title begins with "New York-New Jersey")forrinsite.query(list='allpages',apprefix='New York-New Jersey'):forpageinr.allpages:print(page.title)# Iterate over two pages, getting the page info and the list of links for each of the two pages. Each page will be yielded as a separate result.forpageinsite.query_pages(titles=['Test','API'],prop=['links','info'],pllimit=10):print(page.title)print(', '.join([l.titleforlinpage.links]))print()site.login('username','password')site('edit',text=...)

安装

您可以安装fromPyPI

pip install pywikiapi

库支持Python2.7+和Python3.4+

如何使用

  • 创建一个Site对象,可以直接创建,也可以使用wikipedia助手函数创建。
  • 对所有与迭代相关的api调用使用site.query(...)site.iterate(action, ...)。api将在内部处理所有延续逻辑。
  • 使用site.query_pages(...)一次从action=查询获取一个页面对象。
  • 使用site('query', meta='siteinfo')te访问任何api操作,并将任何其他参数作为键传递。

数据格式

库将正确处理所有基本参数类型:

  • 数字和字符串将按原样传递
  • 布尔值True将作为"1"传递。
  • None和布尔值False将不包含
  • 日期时间将用isoformat()格式化。警告:确保datetime位于UTC时区。
  • 列表将被转换为由管道|分隔的值字符串。

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

推荐PyPI第三方库


热门话题
JavaJavaFX在MouseOver上闪烁(最近重新绘制)并带有集成Swing   多线程Java多线程解析器   java从字符串中的数字中删除前导零   java Quartz调度程序仅在作业尚未运行时执行作业   java如何处理从页面到Servlet的数据映射   swing如何在java中使对象居中   java Hibernate实体向实体添加业务逻辑?   java实现的com。安卓支持回收服务EWV7。27.1.1“失败”   java为什么for循环只运行两次   java,比如Hibernate或JPA中的游标或记录集迭代器?   部署JavaFX应用程序的QA和生产版本的java策略   java实体。列表()休眠性能   要映射多种类型的java json字符串[字符串,对象]   带有gui的java javamail多附件   java从应用程序访问值。属性并使用@Value Springboot存储在变量中