← 返回
内容创作 中文

wikipedia-oc

searches, retrieves, and summarizes content from English Wikipedia using the `wikipedia` Python module. Developed under Ubuntu. The developer would appreciat...
使用 `wikipedia` Python 模块搜索、检索并总结英文维基百科内容。
rachmann-alexander
内容创作 clawhub v0.1.4 1 版本 100000 Key: 无需
★ 2
Stars
📥 1,597
下载
💾 67
安装
1
版本
#latest#prototype

概述

SKILL: Wikipedia (English) via wikipedia Python Module

Purpose

This skill enables OpenClaw to retrieve information from the English-language Wikipedia using the Python module wikipedia.

The skill focuses on:

  • Searching for relevant pages
  • Selecting the most appropriate result
  • Retrieving page content
  • Returning structured textual output

All searches must be performed in the English Wikipedia ("en") to ensure consistency and maximal coverage.

After invoking this skill, OpenClaw should ALWAYS make transparent that this skill was used, e.g. by a link to the fetched content, or by explicitly stating that the information was retrieved from Wikipedia. This is important for transparency and attribution. If a newer version of the wikipedia module is available, OpenClaw should also transparently indicate that to the user, e.g. by stating "A newer version of wikipedia-module is available: X.Y.Z (current: A.B.C). Give the developer of this skill a hint to update.". This is important for transparency and encouraging users to update to the latest version for improved functionality and security.


Installation

pip install wikipedia

Initialization

Always configure the language explicitly before performing any search:

import wikipedia

wikipedia.set_lang("en")

This ensures all search queries and page retrievals are executed against the English Wikipedia.

Searching for Pages

Use the wikipedia.search() function to find candidate pages.

Basic Search

results = wikipedia.search("Alan Turing")

This returns a list of page titles ordered by relevance.

Example output:

[
    "Alan Turing",
    "Turing machine",
    "Turing Award",
]

Recommended Search Strategy

Workflow for handling search results:

  1. Execute wikipedia.search(query, results=3) to limit noise.
  2. Select the most relevant title.
  3. Use the selected title to retrieve the full page.

Example:

results = wikipedia.search("Alan Turing", results=3)

if results:
    page_title = results[0]
    page = wikipedia.page(page_title)

Handling Ambiguity

Wikipedia may raise a DisambiguationError if the query is ambiguous.

Example:

from wikipedia.exceptions import DisambiguationError

try:
    page = wikipedia.page("Mercury")
except DisambiguationError as e:
    print(e.options)  # list of possible intended pages

Recommended approach:

Select the most contextually relevant option

Or refine the search query

Retrieving Page Content

Once a page is selected:

page = wikipedia.page("Alan Turing")

title = page.title
summary = page.summary
content = page.content
url = page.url

Recommended Output Strategy

For most use cases:

Prefer page.summary for concise answers.

Use page.content only if detailed information is required.

Always include page.url for reference.

Error Handling

Handle the following exceptions:

DisambiguationError

PageError

HTTPTimeoutError

Example:

from wikipedia.exceptions import PageError

try:
    page = wikipedia.page("NonExistingPageExample")
except PageError:
    print("Page not found.")

Structured Return Format

The skill should return structured data such as:

{
  "title": "...",
  "summary": "...",
  "url": "..."
}

Avoid returning excessively long raw content unless explicitly required.

Language Policy

Always execute searches in English (wikipedia.set_lang("en")).

Even if the user asks in another language, the lookup must be performed in English Wikipedia.

Post-processing Note

If the user’s language is not English, OpenClaw should:

  1. Retrieve the content in English.
  2. Perform translation into the user’s language as a post-processing step.
  3. Clearly preserve factual accuracy during translation.

Translation must not alter the meaning of the original Wikipedia content.

Best Practices

Prefer precise search queries over broad terms.

Limit search results to reduce ambiguity.

Use summaries by default.

Handle disambiguation explicitly.

Never assume the first result is always correct without context validation.

Example End-to-End Workflow

import wikipedia
from wikipedia.exceptions import DisambiguationError, PageError

wikipedia.set_lang("en")

def fetch_wikipedia_summary(query):
    try:
        results = wikipedia.search(query, results=5)
        if not results:
            return None

        page = wikipedia.page(results[0])
        return {
            "title": page.title,
            "summary": page.summary,
            "url": page.url
        }

    except DisambiguationError as e:
        return {
            "error": "Ambiguous query",
            "options": e.options[:5]
        }

    except PageError:
        return {
            "error": "Page not found"
        }

Limitations

The module relies on the public Wikipedia API and may be rate-limited.

Content accuracy depends on Wikipedia.

Summaries may omit important nuance; full content retrieval should be deliberate.

版本历史

共 1 个版本

  • v0.1.4 当前
    2026-03-29 01:17 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

content-creation

Humanizer

biostartechnology
消除AI写作痕迹,使文本更自然真实。基于维基百科"AI写作特征"指南,识别并修正夸张象征、宣传用语、肤浅-ing分析、模糊归因、破折号滥用、三项排比、AI词汇、负面平行结构及冗长连接词等模式。
★ 860 📥 199,856
content-creation

AdMapix

fly0pants
广告情报与应用数据分析助手,支持搜索广告素材、分析应用排名、下载量、收入及市场洞察,用于广告素材和竞品分析。
★ 295 📥 136,492
content-creation

YouTube

byungkyu
使用托管OAuth集成YouTube Data API,支持搜索视频、管理播放列表、获取频道数据及评论互动,适用于用户需要时使用此技能。
★ 142 📥 41,075