Bina alat baris arahan Wikipedia menggunakan Python dan API Wikipedia
Membuat alat antara muka baris arahan Wikipedia (CLI) merupakan projek yang sangat memuaskan yang menggabungkan kesederhanaan Python dengan pangkalan pengetahuan Wikipedia yang luas. Tutorial ini akan membimbing anda langkah demi langkah membina alat CLI yang mendapat maklumat daripada Wikipedia menggunakan APInya.
Prasyarat
Sebelum anda bermula, pastikan anda mempunyai yang berikut:
- Python 3.7 atau lebih tinggi dipasang pada sistem anda.
- Pengetahuan asas Python dan pengalaman menggunakan API.
- Sambungan Internet untuk mengakses API Wikipedia.
Langkah 1: Fahami API Wikipedia
Wikipedia menyediakan API RESTful di https://www.php.cn/link/27bf6226213cf288dfbf62ffc02bad4f. API ini membolehkan pembangun menanyakan Wikipedia untuk kandungan, metadata dan banyak lagi. Titik akhir utama yang akan kami gunakan termasuk:
-
action=query
: Dapatkan kandungan umum daripada Wikipedia. -
list=search
: Cari artikel mengikut kata kunci. -
prop=extracts
: Dapatkan semula abstrak artikel.
URL asas untuk semua permintaan API ialah:
<code>https://www.php.cn/link/27bf6226213cf288dfbf62ffc02bad4f</code>
Langkah 2: Sediakan persekitaran Python
Mula-mula buat persekitaran maya Python dan pasang perpustakaan yang diperlukan. Kami akan menggunakan requests
untuk membuat permintaan HTTP dan argparse
untuk mengendalikan parameter 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>
Langkah 3: Rancang fungsi CLI
Alat CLI kami akan menyertakan ciri berikut:
- Cari artikel Wikipedia : Membolehkan pengguna mencari artikel mengikut kata kunci.
- Dapatkan ringkasan artikel: Dapatkan ringkasan ringkas artikel tertentu.
- Lihat Bantuan CLI: Memaparkan arahan penggunaan.
Langkah 4: Laksanakan alat CLI
Berikut ialah kod Python untuk alat CLI:
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()
Langkah 5: Uji alat CLI
Simpan skrip sebagai wikipedia_cli.py
. Anda kini boleh menjalankan alat dari terminal:
- Cari artikel:
<code>python wikipedia_cli.py search "Python programming"</code>
- Dapatkan ringkasan artikel:
<code>python wikipedia_cli.py summary "Python (programming language)"</code>
Langkah 6: Tingkatkan Alat
Untuk menjadikan alat lebih berkuasa dan mesra pengguna, sila pertimbangkan untuk menambah yang berikut:
- Rawatan ralat : Menyediakan mesej ralat terperinci untuk permintaan API yang gagal. Format
- : Gunakan perpustakaan seperti untuk mendapatkan output yang lebih indah.
rich
Caches : Mencapai cache untuk mengelakkan berulang panggilan API yang berulang kali ditanyakan. - Fungsi tambahan : Tambah sokongan untuk mendapatkan artikel, kategori atau imej yang berkaitan.
- Kesimpulan Anda telah berjaya menggunakan Python dan APInya untuk membina alat Wikipedia CLI! Alat ini boleh digunakan sebagai titik permulaan yang baik untuk projek yang lebih maju, seperti mengintegrasikannya ke dalam aplikasi lain atau membuat versi GUI. Saya doakan anda gembira!
Atas ialah kandungan terperinci Cara Membuat CLI Wikipedia. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Pythonusesahybridapproach, combiningcompilationtobytecodeandinterpretation.1) codeiscompiledtopplatform-independentbytecode.2) byteCodeisinterpretedbythepythonvirtualmachine, enhancingficiencyAndortability.

TheKeydifferencesbetweenpython's "for" and "while" loopsare: 1) "untuk" loopsareidealforiteratingoversequencesorknowniterations, while2) "manakala" loopsarebetterforcontinuinguntilaconditionismetwithoutpredefinediterations.un

Di Python, anda boleh menyambungkan senarai dan menguruskan elemen pendua melalui pelbagai kaedah: 1) Gunakan pengendali atau melanjutkan () untuk mengekalkan semua elemen pendua; 2) Tukar ke set dan kemudian kembali ke senarai untuk mengalih keluar semua elemen pendua, tetapi pesanan asal akan hilang; 3) Gunakan gelung atau senarai pemantauan untuk menggabungkan set untuk menghapuskan elemen pendua dan mengekalkan urutan asal.

ThfastestmethodforlistconcatenationInpythondondedonListsize: 1) forsmalllists, the operatoriseSefficient.2) forlargerlists, list.extend () orlistComprehensionisfaster, withExtend () ausmorememory-efficientyModifingListsin-tempat.

ToinSertelementsIntoapythonlist, useAppend () toaddtotheend, memasukkan () foraspecificposition, andExtend () formultipleelements.1) useAppend () foraddingsingleitemstotheend.2) useInsert () toaddataSpecificIndex, evenItForForForForForForShoStoRd

Pythonlistsareimplementedasdynamicarrays, notlinkedlists.1) thearestoredincontiguousmemoryblocks, yangMayrequireReAllocationWhenAppendingItems, ImpactingPormance.2) LinkedListSwouldOfferefficientInsertions/DeletionsButsCoweCcess

PythonoffersfourmainmethodstoremoveelementsFromalist: 1) Keluarkan (nilai) RemoveStHefirStoccurrenceFavalue, 2) Pop (index) RemoveRandReturnSanelementAtaspeciedIndex, 3)

Ralat toresolvea "kebenaran" yang mana -mana, berikut: 1) checkandadjustthescript'spermissionsingchmod xmyscript.shtomakeitexecutable.2) EnsurethescriptislocatedInadirectoryHeryouhaveVerPiSs, suchasyoursory, suchasyourshy, suchasyourperhysh, suchasyourshy.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma
