wikipedia提供了api可以供我们对其内容进行操作。其API文档地址为:
http://en.wikipedia.org/w/api.php
列举一些常见用法:
1、全文搜索
http://en.wikipedia.org/w/api.php?action=query&list=search&srsearch=fluoxetine
srsearch为要检索的内容
结果:
<?xml version="1.0"?>
<api>
<query>
<searchinfo totalhits="224" />
<search>
<p ns="0" title="Fluoxetine" snippet="<span class='searchmatch'>Fluoxetine</span> (also known by the tradenames Prozac, Sarafem) is an antidepressant of the selective serotonin reuptake inhibitor (SSRI) class <b>...</b> " size="53978" wordcount="7052" timestamp="2010-10-31T23:22:00Z" />
<p ns="0" title="Olanzapine/fluoxetine" snippet="The drug combination olanzapine/<span class='searchmatch'>fluoxetine</span> (trade name Symbyax, created by Eli Lilly and Company ) is a single capsule containing the <b>...</b> " size="5703" wordcount="629" timestamp="2010-09-21T09:10:34Z" />
<p ns="0" title="Sertraline" snippet="Evidence suggests that sertraline may work better than <span class='searchmatch'>fluoxetine</span> (Prozac) for some subtypes of depression. Sertraline is highly <b>...</b> " size="104510" wordcount="13933" timestamp="2010-10-28T22:13:04Z" />
<p ns="0" title="Antidepressant" snippet="The first such compound to be patented was zimelidine in 1971, while the first released clinically was indalpine . <span class='searchmatch'>Fluoxetine</span> was <b>...</b> " size="128712" wordcount="17532" timestamp="2010-10-30T08:05:06Z" />
<p ns="0" title="Selective serotonin reuptake inhibitor" snippet="four newer antidepressants (including the SSRIs paroxetine and <span class='searchmatch'>fluoxetine</span> , and two non-SSRI antidepressants nefazodone and venlafaxine ). <b>...</b> " size="78327" wordcount="10398" timestamp="2010-11-01T00:11:30Z" />
<p ns="0" title="Paroxetine" snippet="Unlike two other popular SSRI antidepressants, <span class='searchmatch'>fluoxetine</span> and sertraline , paroxetine is associated with clinically significant weight <b>...</b> " size="48886" wordcount="6491" timestamp="2010-10-31T23:11:12Z" />
<p ns="0" title="Venlafaxine" snippet="Its efficacy is similar to or better than sertraline (Zoloft) and <span class='searchmatch'>fluoxetine</span> (Prozac), depending on the criteria and rating scales used <b>...</b> " size="49655" wordcount="6574" timestamp="2010-11-01T00:38:00Z" />
<p ns="0" title="Olanzapine" snippet="Olanzapine (trade names Zyprexa, Zalasta, Zolafren, Olzapin, Oferta, Zypadhera or in combination with <span class='searchmatch'>fluoxetine</span> Symbyax ) is an atypical <b>...</b> " size="34028" wordcount="4540" timestamp="2010-10-30T17:45:42Z" />
<p ns="0" title="Prozac (disambiguation)" snippet="Prozac is a proprietary name for the antidepressant drug <span class='searchmatch'>fluoxetine</span>. Prozac may also refer to: Prozac+ , an Italian punk band <b>...</b> " size="581" wordcount="78" timestamp="2010-04-23T20:24:31Z" />
<p ns="0" title="SSRI discontinuation syndrome" snippet="paroxetine having the highest number of withdrawal syndrome reports and <span class='searchmatch'>fluoxetine</span> the highest number of drug dependence reports; the note <b>...</b> " size="41099" wordcount="5444" timestamp="2010-09-23T06:19:55Z" />
</search>
</query>
<query-continue>
<search sroffset="10" />
</query-continue>
</api>
2、列举wikipedia 的 category:
http://en.wikipedia.org/w/api.php?action=query&list=allcategories&acprefix=drug&aclimit=10
返回10条以drug开头的category;
结果:
<?xml version="1.0"?>
<api>
<query>
<allcategories>
<c xml:space="preserve">Drug-induced Suicide</c>
<c xml:space="preserve">Drug-realted suicides</c>
<c xml:space="preserve">Drug-related Films</c>
<c xml:space="preserve">Drug-related Suicides</c>
<c xml:space="preserve">Drug-related death in California</c>
<c xml:space="preserve">Drug-related deaths</c>
<c xml:space="preserve">Drug-related deaths by country</c>
<c xml:space="preserve">Drug-related deaths in Alabama</c>
<c xml:space="preserve">Drug-related deaths in Alaska</c>
<c xml:space="preserve">Drug-related deaths in Arizona</c>
</allcategories>
</query>
<query-continue>
<allcategories acfrom="Drug-related deaths in Arkansas" />
</query-continue>
</api>
3、返回具有相应title页面的timestamp|user|comment|content 信息;
http://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=api&rvprop=timestamp|user|comment|content
结果:
<?xml version="1.0"?>
<api>
<query>
<pages>
<page pageid="27697087" ns="0" title="API">
<revisions>
<rev user="Graham87" timestamp="2010-06-13T08:41:17Z" comment="Protected API: restore protection ([edit=sysop] (indefinite) [move=sysop] (indefinite))" xml:space="preserve">#REDIRECT [[Application programming interface]]{{R from abbreviation}}</rev>
</revisions>
</page>
</pages>
</query>
</api>
4、解析页面:
http://en.wikipedia.org/w/api.php?action=parse&format=xml&page=fluoxetine
用上面的查询返回的[content]是wikipedia的标记格式,这个api返回的是html格式的文本:
可以用xpath="api/parse/text" 返回html内容。
* action=parse *
This module parses wikitext and returns parser output
This module requires read rights.
Parameters:
title - Title of page the text belongs to
Default: API
text - Wikitext to parse
summary - Summary to parse
page - Parse the content of this page. Cannot be used together with text and title
redirects - If the page parameter is set to a redirect, resolve it
oldid - Parse the content of this revision. Overrides page
prop - Which pieces of information to get.
NOTE: Section tree is only generated if there are more than 4 sections, or if the __TOC__ keyword is present
Values (separate with '|'): text, langlinks, categories, links, templates, images, externallinks, sections, revid, displaytitle, headitems, headhtml
Default: text|langlinks|categories|links|templates|images|externallinks|sections|revid|displaytitle
pst - Do a pre-save transform on the input before parsing it.
Ignored if page or oldid is used.
onlypst - Do a PST on the input, but don't parse it.
Returns PSTed wikitext. Ignored if page or oldid is used.
Example:
api.php?action=parse&text={{Project:Sandbox}}
分享到:
相关推荐
当一个查询返回的数据量过大时,可以通过`continue`参数实现分页。例如,设置`limit`参数限制每次返回的结果数量: ``` https://en.wikipedia.org/w/api.php?action=query&list=search&srsearch=编程&limit=10 ``` ...
使用Wikipedia-API库,开发者可以实现以下功能: 1. 搜索条目:根据关键词搜索维基百科条目,获取相关结果。 2. 获取条目内容:请求特定条目的完整内容或者摘要,包括标题、文本、链接等信息。 3. 检索信息框:提取...
综上所述,通过Java的`httpclient`和`htmlparser`,我们可以实现对维基百科API的有效调用和数据解析,从而在各种应用程序中利用其丰富的信息资源。在实践中,应关注API的使用规范和限制,确保高效且合法地获取和利用...
维基百科,一个全球性的在线百科全书,提供了丰富的公开数据,包括文章内容、元数据等,可以通过其API进行检索和使用。为了更好地理解和利用这个资源,我们需要了解API的基本概念以及如何在PHP环境中设置和执行API...
"react-search-widget"项目展示了如何利用React构建一个功能丰富的应用,结合Wikipedia API实现搜索功能,借助Google翻译API实现文本翻译。通过学习这个项目,开发者可以深化对React组件化开发、状态管理、事件处理...
工具包通常提供API,允许开发者通过编程方式调用其功能,集成到更大的数据分析流程中。 9. **应用实例**: 例如,学者可以使用Wikipedia Miner分析某一领域的研究趋势,企业可以挖掘产品或品牌的相关信息,教育者...
Wikipedia2Vecsm虽然不是直接与Zookeeper或云原生相关的工具,但其处理大量文本数据的能力可能在云环境中得到充分利用,尤其是在需要分布式计算和存储的情况下。 在Python生态系统中,这样的库可以广泛应用于自然...
开发者可以下载这个项目,了解其内部结构,学习如何使用API,甚至可以根据自己的需求对其进行定制或改进。 在实际应用中,JavaScript开发者通常会使用异步请求库,如Axios或fetch,来调用Wiki-API。API的调用可能...
PyDA(Python Digital Assistant)是一个利用 Python 实现的数字助手,它整合了 Wolfram Alpha 和 Wikipedia 的 API,能够为用户提供信息查询和计算功能。下面我们将详细探讨这两个 API 的使用和实现。 **Wolfram ...
5. **前端开发流程**:从HTML布局到CSS美化,再到JavaScript实现交互,以及如何利用API获取远程数据。 6. **版本控制**:如Git,用于追踪代码变更、协作开发。 7. **项目结构**:良好的文件组织,有利于团队协作和...
**nim-wikipedia** 是一个基于 **Nim** 语言编写的库和应用程序,它提供了对 **Wikipedia** 和 **Wikimedia** 异步API的访问。这个库的主要目的是方便开发者和研究人员高效、低延迟地获取和处理维基百科及其相关的...
本项目“RESTful-Flask-Api”正是利用Flask来构建一个RESTful API,用于从Wikipedia获取数据。 **RESTful原则** RESTful设计强调资源的概念,通过HTTP协议的动词(GET, POST, PUT, DELETE等)来操作资源。在我们的...
jwpl(Java Wikipedia Library)API 是一个用于处理维基百科数据的 Java 库。它提供了一系列工具和类来帮助开发者从维基百科中提取、处理和分析数据。由于其在特定领域的独特功能和应用价值,虽然用户群体相对较小,...
为了实现“即时Wikipedia”功能,开发者可能还利用了维基百科提供的开放数据接口(如MediaWiki API),这是一个允许外部应用程序获取和操作维基百科内容的工具。通过这个接口,开发者可以高效地获取条目信息,包括...
本文将深入探讨Wikipedia-Android如何巧妙地运用Android框架API,以实现其主要功能。 首先,Android的Activity组件是应用程序的核心,Wikipedia-Android中可能包含多个Activity,分别对应不同的界面和功能,如主页...
**WikipediaKit** 是一个专为Apple平台设计的开源Swift框架,它允许开发者方便地与维基百科(Wikipedia)的API进行交互。这个框架支持macOS、iOS、watchOS和tvOS,使得在这些平台上获取和展示维基百科内容变得简单而...
`wikipedia_histories`库的核心功能在于其对维基百科API的封装。维基百科提供了丰富的RESTful API,允许开发者获取页面的元数据、历史记录等信息。此库简化了这一过程,提供了一个简洁的接口,使得Python开发者能够...
API是一组预先定义的函数,允许开发者通过调用这些函数来实现特定功能,如获取数据或执行操作。在这个案例中,open-notify API提供了关于宇航员在太空中的实时信息,而Wikipedia API则提供了丰富的宇航员背景资料和...
- **外部存储(External Storage)**:除了本地数据库之外,维基百科还利用外部存储解决方案来扩展其存储能力。 #### 七、查询优化 针对数据库查询,维基百科采取了一系列优化措施,包括但不限于: - **查询分割...
这个项目是利用维基百科API来获取新泽西维基百科页面上的所有图像,并在网页的DOM(Document Object Model)中展示出来。 **JavaScript** JavaScript是一种广泛使用的解释型编程语言,主要应用于客户端网页开发,...