来自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第三方库


热门话题
DIIOP_IOR中的java端口0。TXT,我如何更改它?   hadoop面临的问题:java。lang.NoClassDefFoundError:org/bouncycastle/jcajce/JcaJceHelper在使用更新的BC jar时   java将大科学数转换为长科学数   Java8文件流,如何控制文件的关闭?   是否有类似于dotnetshoutout的资源。com&dotnetkicks。Java世界中的com?   java返回类型void/方法替代方案?   如何使用java。lang.NullPointerException:void 安卓。支持v7。应用程序。ActionBar。setElevation(float)“”在空对象引用上'   java使用kafka流获取时间窗口中给定密钥的最后一个事件   java多边形旋转不正确   java我们应该在params中编写什么。jpbc的属性文件   java如何计算线程数?   使用jar时发生java错误,但不在库本身中   java优先级列表排队方法错误   java和org之间的区别。莫基托。莫基托。任何和组织。莫基托。媒人。任何