国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Jadual Kandungan
Versi asas menggunakan modul
CACHE HTTP Permintaan
Menjana output
Rumah pembangunan bahagian belakang Tutorial Python Mengambil data dari API HTTP dengan Python

Mengambil data dari API HTTP dengan Python

Feb 10, 2025 pm 03:11 PM

Fetching Data from an HTTP API with Python

python dengan cekap mengakses API HTTP: Permintaan Perpustakaan dan Permintaan Cache

Artikel ini dikutip dari "Python Praktikal", dan pengarang Stuart menunjukkan bagaimana untuk mengakses API HTTP dengan mudah menggunakan Python dan beberapa modul pihak ketiga.

Kebanyakan kes, memproses data pihak ketiga memerlukan akses kepada API HTTP, iaitu, menghantar permintaan HTTP ke laman web yang direka untuk dibaca oleh mesin dan bukan secara manual. Data API biasanya dalam format yang boleh dibaca mesin, biasanya dalam JSON atau XML. Mari lihat bagaimana untuk mengakses API HTTP menggunakan Python.

Prinsip asas menggunakan API HTTP adalah mudah:

    Hantar permintaan HTTP ke URL API, yang mungkin termasuk beberapa maklumat pengesahan (seperti kunci API) untuk membuktikan bahawa kami diberi kuasa.
  1. Dapatkan data.
  2. Gunakan data untuk menyelesaikan operasi berguna.
Perpustakaan Standard Python menyediakan fungsi yang cukup untuk melakukan semua ini tanpa sebarang modul tambahan, tetapi ia akan menjadikan kerja kita lebih mudah jika kita menggunakan beberapa modul pihak ketiga untuk memudahkan proses. Yang pertama ialah modul

. Ini adalah perpustakaan HTTP untuk Python yang menjadikan data HTTP lebih mudah daripada Python's Built-In dan boleh dipasang menggunakan requests. urllib.request python -m pip install requests Untuk menunjukkan kemudahan penggunaannya, kami akan menggunakan API Pixabay (didokumenkan di sini). Pixabay adalah laman web gambar di mana semua imej boleh digunakan semula, menjadikannya sumber yang sangat mudah. Kami akan memberi tumpuan kepada gambar buah. Kemudian apabila memanipulasi fail, kami akan menggunakan gambar buah yang dikumpulkan, tetapi sekarang kami hanya ingin mencari gambar buah.

Pertama, kita akan melihat gambar -gambar yang tersedia di Pixabay dengan cepat. Kami akan merebut seratus gambar, melayari mereka dengan cepat, dan pilih yang kami mahukan. Untuk melakukan ini, kita memerlukan kunci API Pixabay, jadi kita perlu membuat akaun dan kemudian mendapatkan kunci dari bahagian imej carian dokumen API.

Permintaan modul

Versi asas menggunakan modul

untuk membuat permintaan HTTP ke API termasuk membina URL HTTP, membuat permintaan, dan membaca respons. Di sini, responsnya dalam format JSON. Modul

menjadikan setiap langkah sangat mudah. Parameter API adalah kamus python, dan fungsi requests membuat panggilan. Oleh itu, panggilan mudah kelihatan seperti ini: requests get() requests Ini akan mengembalikan objek python, dan seperti yang dicadangkan oleh dokumentasi API, kita dapat melihat pelbagai bahagiannya: .json

Untuk mendapatkan seratus hasil, kita hanya boleh membuat keputusan untuk membuat lima panggilan, masing -masing mendapat 20 hasil, tetapi ini tidak cukup kuat. Pendekatan yang lebih baik ialah gelung melalui halaman permintaan sehingga anda mendapat seratus hasil yang dikehendaki dan kemudian berhenti. Ini menghalang masalah apabila Pixabay mengubah bilangan keputusan lalai (mis. Hingga 15). Ia juga membolehkan kita mengendalikan keadaan di mana istilah carian tidak mempunyai seratus gambar. Oleh itu, kami menggunakan gelung while, meningkatkan nombor halaman setiap kali, dan jika kami telah mencapai 100 imej, atau tidak ada imej untuk mendapatkan, kami keluar dari gelung:

CACHE HTTP Permintaan

Adalah idea yang baik untuk mengelakkan membuat permintaan yang sama kepada API HTTP beberapa kali. Banyak API mempunyai sekatan penggunaan untuk mengelakkan berlebihan oleh pemohon, dan permintaan mengambil masa dan usaha. Kita harus cuba mengelak daripada menduplikasi permintaan sebelumnya. Nasib baik, ada cara yang berguna untuk melakukan ini apabila menggunakan modul Python's requests: Pasang python -m pip install requests-cache menggunakan requests-cache. Ini akan merekodkan apa -apa panggilan HTTP yang kami buat dan menyimpan hasilnya. Kemudian, kemudian jika kita membuat panggilan yang sama sekali lagi, kita mendapat hasil yang disimpan secara tempatan tanpa perlu mengakses API lagi. Ini menjimatkan masa dan jalur lebar. Untuk menggunakan requests_cache, mengimportnya dan membuat CachedSession dan kemudian gunakan session.get bukan requests.get untuk mendapatkan URL, kami akan mendapat manfaat caching tanpa usaha tambahan:

Menjana output

Untuk melihat hasil pertanyaan, kita perlu memaparkan gambar di suatu tempat. Cara yang mudah adalah untuk membuat halaman HTML yang mudah untuk memaparkan setiap imej. Pixabay menyediakan gambar kecil kecil untuk setiap imej, yang dipanggil previewURL dalam respons API, jadi kami boleh membuat halaman HTML untuk memaparkan semua gambar kecil ini dan menghubungkannya ke halaman Pixabay utama - dari mana kita boleh memilih muat turun gambar yang kita mahu dan tandatangan jurugambar. Oleh itu, setiap imej di halaman mungkin kelihatan seperti ini:

kita boleh membinanya dari senarai images menggunakan pemahaman senarai dan kemudian gunakan "n".join() untuk menggabungkan semua hasil ke dalam rentetan besar:

Kemudian, jika kita menulis halaman HTML yang sangat mudah dengan senarai itu, mudah membukanya dalam pelayar web, dengan cepat melihat semua hasil carian yang kita dapat dari API dan klik mana -mana daripada mereka untuk melompat muat turun ke yang penuh Pixabay Page:

Fetching Data from an HTTP API with Python

Artikel ini dikutip dari Python praktikal dan boleh dibeli di peruncit SitePoint Premium dan e-book.

(berikut adalah FAQs, yang telah ditulis semula dan diselaraskan mengikut teks asal)

Soalan -soalan yang sering ditanya mengenai mendapatkan data dengan Python's HTTP API (FAQs)

  • Apakah perbezaan antara http dan https? HTTP adalah protokol pemindahan hiperteks, dan HTTPS adalah protokol pemindahan hiperteks yang selamat. Perbezaan utama ialah HTTPS menggunakan sijil SSL untuk mewujudkan sambungan yang disulitkan yang selamat antara pelayan dan klien, sementara HTTP tidak. Ini menjadikan HTTP lebih selamat apabila memindahkan data sensitif seperti maklumat kad kredit atau kelayakan log masuk.

  • Bagaimana HTTP berfungsi di Python? Pelbagai perpustakaan boleh digunakan dalam Python untuk mengeluarkan permintaan HTTP, yang paling biasa digunakan ialah requests. Perpustakaan ini membolehkan anda menghantar permintaan HTTP dan respons proses, termasuk pemprosesan kuki, membentuk data, fail pelbagai bahagian, dan banyak lagi. Ia adalah alat yang berkuasa untuk berinteraksi dengan perkhidmatan web dan boleh digunakan dalam pelbagai aplikasi.

  • Apakah kaedah HTTP biasa? Bagaimana menggunakannya di Python? Kaedah HTTP yang paling biasa adalah mendapatkan, pos, meletakkan, memadam, kepala, pilihan, dan patch. Di Python, anda boleh menggunakan perpustakaan requests untuk menggunakan kaedah ini. Sebagai contoh, untuk menghantar permintaan GET, anda boleh menggunakan requests.get(url), dan menghantar permintaan pos, anda boleh menggunakan requests.post(url, data).

  • Bagaimana untuk mengendalikan respons HTTP dalam Python? Apabila anda menggunakan perpustakaan requests untuk menghantar permintaan HTTP di Python, anda mendapat objek respons. Objek ini mengandungi respons pelayan terhadap permintaan anda. Jika respons dalam format JSON, anda boleh menggunakan response.text atau response.json() untuk mengakses kandungan respons. Anda juga boleh menggunakan response.status_code untuk menyemak kod status respons.

  • Bagaimana menggunakan tajuk HTTP di Python? Anda boleh menggunakannya dalam python dengan melewati tajuk HTTP sebagai kamus ke parameter requests fungsi headers. Sebagai contoh, . Header boleh digunakan untuk memberikan maklumat tambahan mengenai permintaan atau klien, seperti ejen pengguna, jenis kandungan, kebenaran, dan sebagainya. requests.get(url, headers={'User-Agent': 'my-app'})

  • Bagaimana menangani kuki di Python? cookies boleh diproses dalam python menggunakan atribut objek respons. Anda boleh mengakses kuki yang dihantar oleh pelayan menggunakan cookies dan hantar kuki ke pelayan dengan lulus mereka sebagai kamus ke parameter response.cookies fungsi requests. cookies

  • Bagaimana untuk menghantar data borang menggunakan permintaan pos di Python? 3 Sebagai contoh, . Perpustakaan akan mengodkan data secara automatik dalam format yang betul. requests.post data requests.post(url, data={'key': 'value'}) requests Bagaimana cara menghantar fail menggunakan permintaan pos di Python?

    Fail boleh dihantar menggunakan permintaan pos di Python dengan meluluskannya sebagai kamus ke parameter
  • fungsi
  • . Kamus harus mengandungi nama medan fail sebagai kunci, dan tuple yang mengandungi nama fail dan objek fail sebagai nilai.

  • Bagaimana menangani kesilapan dan pengecualian perpustakaan requests di Python? Perpustakaan requests di Python melemparkan pengecualian untuk jenis kesilapan tertentu, seperti kesilapan rangkaian atau masa tamat. Anda boleh menggunakan cubaan/kecuali blok untuk menangkap pengecualian ini dan mengendalikannya dengan sewajarnya. Anda juga boleh menyemak kod status respons untuk mengendalikan ralat HTTP.

  • Bagaimana membuat permintaan HTTP yang tidak segerak di Python? Anda boleh menggunakan perpustakaan aiohttp untuk mengeluarkan permintaan HTTP yang tidak disengajakan di Python. Perpustakaan ini membolehkan anda menghantar permintaan HTTP secara asynchronously dan proses respons, yang dapat meningkatkan prestasi aplikasi anda dengan ketara apabila mengendalikan sejumlah besar permintaan.

Atas ialah kandungan terperinci Mengambil data dari API HTTP dengan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimanakah rangka kerja Python atau PyTest memudahkan ujian automatik? Bagaimanakah rangka kerja Python atau PyTest memudahkan ujian automatik? Jun 19, 2025 am 01:10 AM

Python's Unittest and Pytest adalah dua kerangka ujian yang digunakan secara meluas yang memudahkan penulisan, penganjuran dan menjalankan ujian automatik. 1. Kedua -duanya menyokong penemuan automatik kes ujian dan menyediakan struktur ujian yang jelas: Unittest mentakrifkan ujian dengan mewarisi kelas ujian dan bermula dengan ujian \ _; Pytest lebih ringkas, hanya memerlukan fungsi bermula dengan ujian \ _. 2. Mereka semua mempunyai sokongan dakwaan terbina dalam: Unittest menyediakan kaedah AssertEqual, AssertTrue dan lain-lain, manakala PYTest menggunakan pernyataan menegaskan yang dipertingkatkan untuk memaparkan butiran kegagalan secara automatik. 3. Semua mempunyai mekanisme untuk mengendalikan penyediaan ujian dan pembersihan: un

Bagaimanakah Python boleh digunakan untuk analisis data dan manipulasi dengan perpustakaan seperti numpy dan panda? Bagaimanakah Python boleh digunakan untuk analisis data dan manipulasi dengan perpustakaan seperti numpy dan panda? Jun 19, 2025 am 01:04 AM

Pythonisidealfordataanalysisysisduetonumpyandpandas.1) numpyexcelsatnumericalcomputationswithfast, multi-dimensiArarraySandvectorizedoperationsLikenp.sqrt ()

Apakah teknik pengaturcaraan dinamik, dan bagaimana saya menggunakannya dalam Python? Apakah teknik pengaturcaraan dinamik, dan bagaimana saya menggunakannya dalam Python? Jun 20, 2025 am 12:57 AM

Pengaturcaraan Dinamik (DP) mengoptimumkan proses penyelesaian dengan memecahkan masalah kompleks ke dalam subproblem yang lebih mudah dan menyimpan hasilnya untuk mengelakkan pengiraan berulang. Terdapat dua kaedah utama: 1. Top-down (Hafalan): Recursif menguraikan masalah dan menggunakan cache untuk menyimpan hasil pertengahan; 2. Bottom-Up (Jadual): Bangun secara beransur-ansur dari keadaan asas. Sesuai untuk senario di mana nilai maksimum/minimum, penyelesaian optimum atau subproblem yang bertindih diperlukan, seperti urutan Fibonacci, masalah backpacking, dan lain -lain.

Bagaimana anda boleh melaksanakan iterators tersuai di Python menggunakan __iter__ dan __Next__? Bagaimana anda boleh melaksanakan iterators tersuai di Python menggunakan __iter__ dan __Next__? Jun 19, 2025 am 01:12 AM

Untuk melaksanakan iterator tersuai, anda perlu menentukan kaedah __iter__ dan __Next__ di dalam kelas. ① Kaedah __iter__ mengembalikan objek iterator itu sendiri, biasanya diri sendiri, bersesuaian dengan persekitaran berulang seperti untuk gelung; ② Kaedah __Next__ mengawal nilai setiap lelaran, mengembalikan elemen seterusnya dalam urutan, dan apabila tidak ada lagi item, pengecualian hentian harus dibuang; ③ Status mesti dikesan dengan betul dan keadaan penamatan mesti ditetapkan untuk mengelakkan gelung tak terhingga; ④ Logik kompleks seperti penapisan talian fail, dan perhatikan pembersihan sumber dan pengurusan memori; ⑤ Untuk logik mudah, anda boleh mempertimbangkan menggunakan hasil fungsi penjana sebaliknya, tetapi anda perlu memilih kaedah yang sesuai berdasarkan senario tertentu.

Apakah trend yang muncul atau arahan masa depan dalam bahasa pengaturcaraan Python dan ekosistemnya? Apakah trend yang muncul atau arahan masa depan dalam bahasa pengaturcaraan Python dan ekosistemnya? Jun 19, 2025 am 01:09 AM

Trend masa depan dalam Python termasuk pengoptimuman prestasi, jenis yang lebih kuat, peningkatan runtime alternatif, dan pertumbuhan berterusan bidang AI/ML. Pertama, Cpython terus mengoptimumkan, meningkatkan prestasi melalui masa permulaan yang lebih cepat, pengoptimuman panggilan fungsi dan operasi integer yang dicadangkan; Kedua, jenis petikan sangat terintegrasi ke dalam bahasa dan alat untuk meningkatkan pengalaman keselamatan dan pembangunan kod; Ketiga, runtime alternatif seperti Pyscript dan Nuitka menyediakan fungsi baru dan kelebihan prestasi; Akhirnya, bidang AI dan Sains Data terus berkembang, dan perpustakaan yang muncul mempromosikan pembangunan dan integrasi yang lebih cekap. Trend ini menunjukkan bahawa Python sentiasa menyesuaikan diri dengan perubahan teknologi dan mengekalkan kedudukan utama.

Bagaimana saya melakukan pengaturcaraan rangkaian di python menggunakan soket? Bagaimana saya melakukan pengaturcaraan rangkaian di python menggunakan soket? Jun 20, 2025 am 12:56 AM

Modul soket Python adalah asas pengaturcaraan rangkaian, menyediakan fungsi komunikasi rangkaian peringkat rendah, sesuai untuk membina aplikasi klien dan pelayan. Untuk menyediakan pelayan TCP asas, anda perlu menggunakan socket.socket () untuk membuat objek, mengikat alamat dan port, panggilan. Listen () untuk mendengar sambungan, dan menerima sambungan klien melalui .accept (). Untuk membina klien TCP, anda perlu membuat objek soket dan panggilan .Connect () untuk menyambung ke pelayan, kemudian gunakan .sendall () untuk menghantar data dan .recv () untuk menerima respons. Untuk mengendalikan pelbagai pelanggan, anda boleh menggunakan 1. Threads: Mulakan benang baru setiap kali anda menyambung; 2. Asynchronous I/O: Sebagai contoh, Perpustakaan Asyncio dapat mencapai komunikasi yang tidak menyekat. Perkara yang perlu diperhatikan

Polimorfisme dalam kelas python Polimorfisme dalam kelas python Jul 05, 2025 am 02:58 AM

Polimorfisme adalah konsep teras dalam pengaturcaraan berorientasikan objek Python, merujuk kepada "satu antara muka, pelbagai pelaksanaan", yang membolehkan pemprosesan bersatu pelbagai jenis objek. 1. Polimorfisme dilaksanakan melalui penulisan semula kaedah. Subkelas boleh mentakrifkan semula kaedah kelas induk. Sebagai contoh, kaedah bercakap () kelas haiwan mempunyai pelaksanaan yang berbeza dalam subkelas anjing dan kucing. 2. Penggunaan praktikal polimorfisme termasuk memudahkan struktur kod dan meningkatkan skalabilitas, seperti memanggil kaedah cabutan () secara seragam dalam program lukisan grafik, atau mengendalikan tingkah laku umum watak -watak yang berbeza dalam pembangunan permainan. 3. Polimorfisme pelaksanaan Python perlu memenuhi: Kelas induk mentakrifkan kaedah, dan kelas kanak -kanak mengatasi kaedah, tetapi tidak memerlukan warisan kelas induk yang sama. Selagi objek melaksanakan kaedah yang sama, ini dipanggil "jenis itik". 4. Perkara yang perlu diperhatikan termasuk penyelenggaraan

Bagaimana saya mengiris senarai dalam python? Bagaimana saya mengiris senarai dalam python? Jun 20, 2025 am 12:51 AM

Jawapan teras kepada pengirim senarai Python adalah menguasai sintaks [Start: End: Step] dan memahami kelakuannya. 1. Format asas pengirim senarai adalah senarai [Mula: akhir: langkah], di mana permulaan adalah indeks permulaan (termasuk), akhir adalah indeks akhir (tidak termasuk), dan langkah adalah saiz langkah; 2. Omit Mula secara lalai bermula dari 0, endek akhir secara lalai hingga akhir, omite langkah secara lalai kepada 1; 3. Gunakan my_list [: n] untuk mendapatkan item n pertama, dan gunakan my_list [-n:] untuk mendapatkan item n yang terakhir; 4. Gunakan langkah untuk melangkau unsur -unsur, seperti my_list [:: 2] untuk mendapatkan angka, dan nilai langkah negatif dapat membalikkan senarai; 5. Kesalahpahaman biasa termasuk indeks akhir tidak

See all articles