Maison > développement back-end > Tutoriel Python > Comment créer une CLI Wikipédia

Comment créer une CLI Wikipédia

DDD
Libérer: 2025-01-25 00:13:09
original
997 Les gens l'ont consulté

How to Create a Wikipedia CLI

Créez des outils de ligne de commande Wikipédia à l'aide de Python et de l'API Wikipédia

La création d'un outil d'interface de ligne de commande (CLI) Wikipédia a été un projet très enrichissant qui combinait la simplicité de Python avec la vaste base de connaissances de Wikipédia. Ce didacticiel vous guidera étape par étape dans la création d'un outil CLI qui obtient des informations de Wikipédia à l'aide de son API.


Prérequis

Avant de commencer, assurez-vous d'avoir les éléments suivants :

  • Python 3.7 ou supérieur installé sur votre système.
  • Connaissance de base de Python et expérience de l'utilisation des API.
  • Connexion Internet pour accéder à l'API Wikipédia.

Étape 1 : Comprendre l'API Wikipédia

Wikipedia fournit une API RESTful sur https://www.php.cn/link/27bf6226213cf288dfbf62ffc02bad4f. Cette API permet aux développeurs d'interroger Wikipédia pour obtenir du contenu, des métadonnées, etc. Les points de terminaison clés que nous utiliserons incluent :

  • action=query : obtenez du contenu général de Wikipédia.
  • list=search : Recherchez des articles par mot-clé.
  • prop=extracts : Récupérez les résumés des articles.

L'URL de base pour toutes les requêtes API est :

<code>https://www.php.cn/link/27bf6226213cf288dfbf62ffc02bad4f</code>
Copier après la connexion

Étape 2 : Configurer l'environnement Python

Créez d’abord un environnement virtuel Python et installez les bibliothèques requises. Nous utiliserons requests pour effectuer des requêtes HTTP et argparse pour gérer les paramètres 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>
Copier après la connexion

Étape 3 : Planifier les fonctions CLI

Notre outil CLI comprendra les fonctionnalités suivantes :

  1. Rechercher des articles Wikipédia  : permet aux utilisateurs de rechercher des articles par mots-clés.
  2. Obtenir le résumé de l'article : récupérez un bref résumé d'un article spécifique.
  3. Afficher l'aide CLI : affiche les instructions d'utilisation.

Étape 4 : implémenter l'outil CLI

Ce qui suit est le code Python de l'outil CLI :

<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>
Copier après la connexion

Étape 5 : Testez l'outil CLI

Enregistrez le script sous wikipedia_cli.py. Vous pouvez désormais exécuter l'outil depuis le terminal :

  1. Rechercher des articles :
<code>python wikipedia_cli.py search "Python programming"</code>
Copier après la connexion
  1. Obtenir le résumé de l'article :
<code>python wikipedia_cli.py summary "Python (programming language)"</code>
Copier après la connexion

Étape 6 : Améliorer les outils

Pour rendre l'outil plus puissant et plus convivial, pensez à ajouter les éléments suivants :

  1. Gestion des erreurs : fournissez des messages d'erreur détaillés pour les requêtes API ayant échoué.
  2. Formatage : utilisez des bibliothèques comme rich pour obtenir un résultat plus joli.
  3. Caching : implémentez la mise en cache pour éviter les appels d'API répétés pour la même requête.
  4. Fonctionnalités supplémentaires : ajoutez la prise en charge pour obtenir des articles, des catégories ou des images associés.

Conclusion

Vous avez réussi à créer un outil CLI Wikipédia en utilisant Python et son API ! Cet outil peut servir de bon point de départ pour des projets plus avancés, comme l'intégrer à d'autres applications ou créer une version GUI. Bon codage !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal