Wikipedia 명령줄 인터페이스(CLI) 도구를 만드는 것은 Python의 단순성과 Wikipedia의 방대한 지식 기반을 결합한 매우 만족스러운 프로젝트였습니다. 이 튜토리얼에서는 API를 사용하여 Wikipedia에서 정보를 가져오는 CLI 도구를 구축하는 과정을 단계별로 안내합니다.
시작하기 전에 다음 사항을 확인하세요.
Wikipedia는 https://www.php.cn/link/27bf6226213cf288dfbf62ffc02bad4f에서 RESTful API를 제공합니다. 이 API를 사용하면 개발자는 Wikipedia에 콘텐츠, 메타데이터 등을 쿼리할 수 있습니다. 우리가 사용할 주요 엔드포인트는 다음과 같습니다.
action=query
: Wikipedia에서 일반 콘텐츠를 가져옵니다. list=search
: 키워드로 기사를 검색합니다. prop=extracts
: 기사 초록을 검색합니다. 모든 API 요청의 기본 URL은 다음과 같습니다.
<code>https://www.php.cn/link/27bf6226213cf288dfbf62ffc02bad4f</code>
먼저 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 도구용 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>
스크립트를 wikipedia_cli.py
로 저장하세요. 이제 터미널에서 도구를 실행할 수 있습니다.
<code>python wikipedia_cli.py search "Python programming"</code>
<code>python wikipedia_cli.py summary "Python (programming language)"</code>
도구를 더욱 강력하고 사용자 친화적으로 만들려면 다음을 추가해 보세요.
rich
위 내용은 Wikipedia CLI를 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!