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.
Avant de commencer, assurez-vous d'avoir les éléments suivants :
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>
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>
Notre outil CLI comprendra les fonctionnalités suivantes :
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>
Enregistrez le script sous wikipedia_cli.py
. Vous pouvez désormais exécuter l'outil depuis le terminal :
<code>python wikipedia_cli.py search "Python programming"</code>
<code>python wikipedia_cli.py summary "Python (programming language)"</code>
Pour rendre l'outil plus puissant et plus convivial, pensez à ajouter les éléments suivants :
rich
pour obtenir un résultat plus joli. 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!