维基百科的python包装器

Wikipedia-A的Python项目详细描述


维基百科API

wikipedia api 很容易使用python包装器,用于 wikipedias' api。它支持从维基百科中提取文本、节、链接、类别、翻译等。文档为最常见的用例提供了代码片段。

构建状态documentation status测试覆盖率versionpy versionsgithub之星

安装

此软件包至少需要Python3.4才能安装,因为它使用的是Intenum。

pip3installwikipedia-api

用法

wikipedia api的目标是提供简单易用的api,用于从wikipedia检索信息。下面是常见用例的示例。

导入

importwikipediaapi

如何获取单页

获取单个页面很简单。必须初始化wikipedia对象并按其名称请求页面。 它的参数语言是支持的语言之一。

importwikipediaapiwiki_wiki=wikipediaapi.Wikipedia('en')page_py=wiki_wiki.page('Python_(programming_language)')

如何检查wiki页面是否存在

要检查页是否存在,可以使用函数 exists

page_py=wiki_wiki.page('Python_(programming_language)')print("Page - Exists: %s"%page_py.exists())# Page - Exists: Truepage_missing=wiki_wiki.page('NonExistingPageWithStrangeName')print("Page - Exists: %s"%page_missing.exists())# Page - Exists: False

如何获取页面摘要

类wikipediapage具有属性summary,该属性返回wiki页的描述。

importwikipediaapiwiki_wiki=wikipediaapi.Wikipedia('en')print("Page - Title: %s"%page_py.title)# Page - Title: Python (programming language)print("Page - Summary: %s"%page_py.summary[0:60])# Page - Summary: Python is a widely used high-level programming language for

如何获取页面URL

Wikipediapage 有两个带有页面URL的属性。它是 fullurl canonicalurl

print(page_py.fullurl)# https://en.wikipedia.org/wiki/Python_(programming_language)print(page_py.canonicalurl)# https://en.wikipedia.org/wiki/Python_(programming_language)

如何获取全文

要获取Wikipedia页面的全文,您应该使用构造页面文本的属性 作为摘要和章节及其标题和课文. < /P>

wiki_wiki=wikipediaapi.Wikipedia(language='en',extract_format=wikipediaapi.ExtractFormat.WIKI)p_wiki=wiki_wiki.page("Test 1")print(p_wiki.text)# Summary# Section 1# Text of section 1# Section 1.1# Text of section 1.1# ...wiki_html=wikipediaapi.Wikipedia(language='en',extract_format=wikipediaapi.ExtractFormat.HTML)p_html=wiki_html.page("Test 1")print(p_html.text)# <p>Summary</p># <h2>Section 1</h2># <p>Text of section 1</p># <h3>Section 1.1</h3># <p>Text of section 1.1</p># ...

如何获取页面部分

要获取页面的所有顶层部分,必须使用属性 sections 。它返回 wikipediapagesection ,因此必须使用递归来获取所有子部分。

defprint_sections(sections,level=0):forsinsections:print("%s: %s - %s"%("*"*(level+1),s.title,s.text[0:40]))print_sections(s.sections,level+1)print_sections(page_py.sections)# *: History - Python was conceived in the late 1980s,# *: Features and philosophy - Python is a multi-paradigm programming l# *: Syntax and semantics - Python is meant to be an easily readable# **: Indentation - Python uses whitespace indentation, rath# **: Statements and control flow - Python's statements include (among other# **: Expressions - Some Python expressions are similar to l

如何以其他语言获取页面

如果要获取给定页的其他翻译,则应使用属性langlinks。它是地图, 其中键是语言代码,值是wikipediapage

defprint_langlinks(page):langlinks=page.langlinksforkinsorted(langlinks.keys()):v=langlinks[k]print("%s: %s - %s: %s"%(k,v.language,v.title,v.fullurl))print_langlinks(page_py)# af: af - Python (programmeertaal): https://af.wikipedia.org/wiki/Python_(programmeertaal)# als: als - Python (Programmiersprache): https://als.wikipedia.org/wiki/Python_(Programmiersprache)# an: an - Python: https://an.wikipedia.org/wiki/Python# ar: ar - بايثون: https://ar.wikipedia.org/wiki/%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86# as: as - পাইথন: https://as.wikipedia.org/wiki/%E0%A6%AA%E0%A6%BE%E0%A6%87%E0%A6%A5%E0%A6%A8page_py_cs=page_py.langlinks['cs']print("Page - Summary: %s"%page_py_cs.summary[0:60])# Page - Summary: Python (anglická výslovnost [ˈpaiθtən]) je vysokoúrovňový sk

如何获取其他页面的链接

如果要从给定页面获取指向其他wiki页面的所有链接,则需要使用属性 links 。 它是map,其中键是页面标题,值是wikipediapage

pip3installwikipedia-api
0

如何获取页面类别

如果要获取页面所属的所有类别,则应使用属性 categories 。 它是map,其中key是category title,value是wikipediapage

pip3installwikipedia-api
1

如何从类别中获取所有页面

要从给定类别获取所有页面,应使用属性 categorymembers 。它返回给定类别的所有成员。 您必须自己实现递归和重复数据消除。

pip3installwikipedia-api
2

如何查看底层api调用

如果在检索数据时遇到问题,可以获取未还原的api调用的url。 这将帮助您确定问题是在库中还是在其他地方。

pip3installwikipedia-api
3

其他徽章

编码气候问题计数工作服versionpy版本implementations下载标签github releasegithub提交(自最新版本起)github分叉github之星github观察者github提交活动过去一周,4周,年上次提交github代码大小(字节)Github回购大小(字节)pypi licensepypi wheelpypi formatpypi pyversionspypi实现pypi statuspypi downloads-daypypi downloads-weekpypi downloads-monthlibraries.io-sourceranklibraries.io-依赖回购

其他页

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

推荐PyPI第三方库


热门话题
要应用于列表的java JSTL if条件   追加文件会导致覆盖(Java)   当我使用自定义适配器和json时,java应用程序崩溃   如何在java中提取数字和字符串   Web视图中的java上传文件   安卓错误:org。json。JSONEXception:java类型的值访问。无法将lang.String转换为JSONObject   javascript如何使用appium驱动程序按id滚动到元素   用Java计算Excel列中的重复行数   垃圾收集为什么Java堆的最大大小是固定的?   java执行maven插件的目标取决于另一个插件正在执行的目标   java无法在tomcat中加载静态文件   稍后访问时,java servlet页面显示为空   JavaWebSphereApplicationServer:EJB模块和JMS路由器   Oracle:如何查看JavaEE6应用程序运行的查询?