首頁 >後端開發 >Python教學 >如何創建維基百科 CLI

如何創建維基百科 CLI

DDD
DDD原創
2025-01-25 00:13:09994瀏覽

How to Create a Wikipedia CLI

使用Python和維基百科API建立維基百科命令列工具

創建一個維基百科命令列介面 (CLI) 工具是一個很有成就感項目,它結合了Python的簡潔性和維基百科龐大的知識庫。本教學將逐步指導您如何建立一個使用其API從維基百科獲取資訊的CLI工具。


先決條件

開始之前,請確保您擁有以下內容:

  • 系統上安裝了Python 3.7或更高版本。
  • Python的基礎知識和API的使用經驗。
  • 用於存取維基百科API的網路連線。

第一步:了解維基百科API

維基百科在 https://www.php.cn/link/27bf6226213cf288dfbf62ffc02bad4f 提供了一個RESTful API。此API允許開發人員查詢維基百科的內容、元資料等等。我們將使用的關鍵端點包括:

  • action=query:從維基百科取得一般內容。
  • list=search:按關鍵字搜尋文章。
  • prop=extracts:檢索文章摘要。

所有API請求的基本網址為:

<code>https://www.php.cn/link/27bf6226213cf288dfbf62ffc02bad4f</code>

第二步:設定Python環境

先建立一個Python虛擬環境並安裝所需的函式庫。我們將使用requests進行HTTP請求,使用argparse處理CLI參數。

<code># 创建虚拟环境
python -m venv wikipedia-cli-env

# 激活环境
# 在Windows上:
wikipedia-cli-env\Scripts\activate
# 在Mac/Linux上:
source wikipedia-cli-env/bin/activate

# 安装依赖项
pip install requests argparse</code>

第三步:規劃CLI功能

我們的CLI工具將包括以下功能:

  1. 搜尋維基百科文章:允許使用者以關鍵字搜尋文章。
  2. 取得文章摘要:檢索特定文章的簡短摘要。
  3. 查看CLI幫助:顯示使用說明。

第四步:實作CLI工具

以下是CLI工具的Python程式碼:

<code class="language-python">import argparse
import requests

# 定义维基百科API的基本URL
WIKIPEDIA_API_URL = "https://www.php.cn/link/27bf6226213cf288dfbf62ffc02bad4f"

def search_articles(query):
    """搜索与查询匹配的维基百科文章。"""
    params = {
        'action': 'query',
        'list': 'search',
        'srsearch': query,
        'format': 'json',
    }
    response = requests.get(WIKIPEDIA_API_URL, params=params)
    response.raise_for_status()  # 对错误的响应引发错误
    data = response.json()

    if 'query' in data:
        return data['query']['search']
    else:
        return []

def get_article_summary(title):
    """获取维基百科文章的摘要。"""
    params = {
        'action': 'query',
        'prop': 'extracts',
        'exintro': True,
        'titles': title,
        'format': 'json',
    }
    response = requests.get(WIKIPEDIA_API_URL, params=params)
    response.raise_for_status()
    data = response.json()

    pages = data.get('query', {}).get('pages', {})
    for page_id, page in pages.items():
        if 'extract' in page:
            return page['extract']
    return "No summary available."

def main():
    parser = argparse.ArgumentParser(description="一个与维基百科交互的CLI工具。")
    subparsers = parser.add_subparsers(dest="command")

    # 子命令:search
    search_parser = subparsers.add_parser("search", help="在维基百科上搜索文章。")
    search_parser.add_argument("query", help="搜索查询。")

    # 子命令:summary
    summary_parser = subparsers.add_parser("summary", help="获取特定维基百科文章的摘要。")
    summary_parser.add_argument("title", help="维基百科文章的标题。")

    args = parser.parse_args()

    if args.command == "search":
        results = search_articles(args.query)
        if results:
            print("搜索结果:")
            for result in results:
                print(f"- {result['title']}: {result['snippet']}")
        else:
            print("未找到结果。")

    elif args.command == "summary":
        summary = get_article_summary(args.title)
        print(summary)

    else:
        parser.print_help()

if __name__ == "__main__":
    main()</code>

第五步:測試CLI工具

將腳本儲存為wikipedia_cli.py。現在您可以從終端運行該工具:

  1. 搜尋文章:
<code>python wikipedia_cli.py search "Python programming"</code>
  1. 取得文章摘要:
<code>python wikipedia_cli.py summary "Python (programming language)"</code>

第六步:增強工具

為了使工具更強大和用戶友好,請考慮添加以下內容:

  1. 錯誤處理:為失敗的API請求提供詳細的錯誤訊息。
  2. 格式化:使用諸如rich之類的函式庫來獲得更漂亮的輸出。
  3. 快取:實作快取以避免相同查詢的重複API呼叫。
  4. 附加功能:新增對擷取相關文章、類別或影像的支援。

結論

您已成功使用Python及其API建立了一個維基百科CLI工具!此工具可以作為更高級專案的良好起點,例如將其整合到其他應用程式或建立GUI版本。祝您編碼愉快!

以上是如何創建維基百科 CLI的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn