Python

Cara Menggunakan Urllib dengan Python

Cara Menggunakan Urllib dengan Python

Python berisi modul bernama urlib untuk menangani tugas terkait Uniform Resource Locator (URL)URL. Modul ini diinstal di Python 3 secara default, dan mengambil URL dari protokol yang berbeda melalui via urlopen() fungsi. Urllib dapat digunakan untuk banyak tujuan, seperti membaca konten situs web, membuat permintaan HTTP dan HTTPS, mengirim header permintaan, dan mengambil header respons. Itu urlib modul berisi banyak modul lain untuk bekerja dengan URL, seperti: urlib.permintaan, urlib.mengurai, dan urlib.kesalahan, diantara yang lain. Tutorial ini akan menunjukkan cara menggunakan modul Urllib dengan Python.

Contoh 1: Membuka dan membaca URL dengan urllib.permintaan

Itu urlib.permintaan modul berisi kelas dan metode yang diperlukan untuk membuka dan membaca URL apa pun. Skrip berikut menunjukkan cara menggunakan urlib.permintaan modul untuk membuka URL dan membaca konten URL. Di sini, urlopen() metode yang digunakan untuk membuka URL, “https://www.linuxhint.com/.Jika URL tersebut valid, maka isi dari URL tersebut akan disimpan dalam variabel objek bernama tanggapan. Itu Baca() metode tanggapan objek kemudian digunakan untuk membaca konten URL.

#!/usr/bin/env python3
# Impor modul permintaan urllib
urllib impor.permintaan
# Buka URL khusus untuk membaca menggunakan urlopen()
tanggapan = urllib.permintaan.urlopen('https://www.linuxhint.com/')
# Cetak data respons URL
print("Output dari URL adalah:\n\n",respons.Baca())

Keluaran

Output berikut akan muncul setelah menjalankan skrip:.

Contoh 2: Parsing dan unparsing URL dengan urllib.mengurai

Itu urlib.mengurai modul terutama digunakan untuk memisahkan atau menggabungkan berbagai komponen URL. Skrip berikut menunjukkan penggunaan yang berbeda dari urlib.mengurai modul. Empat fungsi dari urlib.mengurai digunakan dalam skrip berikut termasuk: urlparse, urlunparse, urlsplit, dan urlunsplit. Itu urlparse modul berfungsi seperti urlsplit, dan urlunparse modul berfungsi seperti urlunsplit. Hanya ada satu perbedaan antara fungsi-fungsi ini; itu adalah, urlparse dan urlunparse mengandung parameter tambahan bernama 'params' untuk pemisahan dan fungsi penggabungan. Di sini, URL 'https://linuxhint.com/play_sound_python/' digunakan untuk memisahkan dan menggabungkan URL.

#!/usr/bin/env python3
 
# Impor modul parse urllib
urllib impor.mengurai
 
# Parsing URL menggunakan urlparse()
urlParse = urllib.mengurai.urlparse('https://linuxhint.com/play_sound_python/')
print("\nOutput URL setelah diurai:\n", urlParse)
 
# Bergabung dengan URL menggunakan urlunparse()
urlUnparse = urllib.mengurai.urlunparse(urlParse)
print("\nOutput gabungan dari URL parsing:\n", urlUnparse)
 
# Parsing URL menggunakan urlsplit()
urlSplit = urllib.mengurai.urlsplit('https://linuxhint.com/play_sound_python/')
print("\nOutput URL setelah pemisahan:\n", urlSplit)
 
# Bergabung dengan URL menggunakan urlunsplit()
urlUnsplit = urllib.mengurai.urlunsplit(pembagian url)
print("\nOutput gabungan dari pemisahan URL:\n",urlUnsplit)

Keluaran

Empat output berikut akan muncul setelah menjalankan skrip.

Contoh 3: Membaca header respons HTML dengan urllib.permintaan

Skrip berikut menunjukkan bagaimana bagian yang berbeda dari header respons URL dapat diambil melalui: info() metode. Itu urlib.permintaan modul yang digunakan untuk membuka URL, 'https://linuxhint.com/python_pause_user_input/,' dan informasi header URL ini dicetak melalui via info() metode. Bagian selanjutnya dari skrip ini akan menunjukkan kepada Anda cara membaca setiap bagian dari header secara terpisah. Di sini, Server, Tanggal, dan Jenis konten nilai dicetak secara terpisah.

#!/usr/bin/env python3
# Impor modul permintaan urllib
urllib impor.permintaan
# Buka URL untuk membaca
urlResponse = urllib.permintaan.urlopen('https://linuxhint.com/python_pause_user_input/')
# Membaca keluaran tajuk respons dari URL
cetak (urlRespons.info())
# Membaca informasi tajuk secara terpisah
print('Server Respon = ', urlRespons.info()["Server"])
print('Tanggal tanggapan adalah = ', urlResponse.info()["Tanggal"])
print('Jenis konten respons adalah = ', urlResponse.info()["Tipe-Konten"])

Keluaran

Output berikut akan muncul setelah menjalankan skrip:.

Contoh 4: Membaca tanggapan URL baris demi baris

Alamat URL lokal digunakan dalam skrip berikut. Di sini, file HTML pengujian bernama uji.html dibuat di lokasi, var/www/html. Isi file ini dibaca baris demi baris melalui via  untuk lingkaran. Itu mengupas() metode ini kemudian digunakan untuk menghilangkan spasi dari kedua sisi setiap baris. Anda dapat menggunakan file HTML apa pun dari server lokal untuk menguji skrip. Isi dari uji.html file yang digunakan dalam contoh ini diberikan di bawah ini.

uji.html:



Halaman Pengujian


#!/usr/bin/env python3
 
# Impor urllib.modul permintaan
urllib impor.permintaan
 
# Buka url lokal untuk membaca
tanggapan = urllib.permintaan.urlopen('http://localhost/test.html')
 
# Baca URL dari tanggapan
print ('URL:', tanggapan.geturl())
 
# Baca teks tanggapan baris demi baris
print("\nMembaca konten:")
untuk baris sebagai tanggapan:
cetak (baris).mengupas())

Keluaran

Output berikut akan muncul setelah menjalankan skrip:.

Contoh 5: Penanganan pengecualian dengan urllib.kesalahan.URLError

Skrip berikut menunjukkan cara menggunakan URLError dengan Python melalui urlib.kesalahan modul. Alamat URL apa pun dapat diambil sebagai input dari pengguna. Jika alamatnya tidak ada, maka URLError pengecualian akan dimunculkan dan alasan kesalahan akan dicetak. Jika nilai URL dalam format yang tidak valid, maka a NilaiError akan dimunculkan dan kesalahan khusus akan dicetak.

#!/usr/bin/env python3
 
# Impor modul yang diperlukan
urllib impor.permintaan
urllib impor.kesalahan
 
# coba blokir untuk membuka URL apa pun untuk dibaca
mencoba:
url = input("Masukkan alamat URL apa saja: ")
tanggapan = urllib.permintaan.urlopen(url)
cetak (tanggapan.Baca())
 
# Tangkap kesalahan URL yang akan dihasilkan saat membuka URL apa pun
kecuali urlib.kesalahan.URLError sebagai e:
print("Kesalahan URL:", e.alasan)
# Tangkap kesalahan URL yang tidak valid
kecuali ValueError:
print("Masukkan alamat URL yang valid")

Keluaran

Script dijalankan tiga kali dalam tangkapan layar berikut. Pada iterasi pertama, alamat URL diberikan dalam format yang tidak valid, menghasilkan ValueError. Alamat URL yang diberikan pada iterasi kedua tidak ada, menghasilkan URLError. Alamat URL yang valid diberikan pada iterasi ketiga, dan konten URL dicetak.

Contoh 6: Penanganan pengecualian dengan urllib.kesalahan.HTTPError

Skrip berikut menunjukkan cara menggunakan HTTPError dengan Python melalui urlib.kesalahan modul. Sebuah HTMLError dihasilkan ketika alamat URL yang diberikan tidak ada.

#!/usr/bin/env python3
# Impor modul yang diperlukan
urllib impor.permintaan
urllib impor.kesalahan
 
# Ambil masukan URL yang valid
url = input("Masukkan alamat URL apa saja: ")
# Kirim permintaan untuk URL
permintaan = urllib.permintaan.Permintaan (url)
 
mencoba:
# Coba buka URL
urlib.permintaan.urlopen(permintaan)
print("URL Ada")
kecuali urlib.kesalahan.HTTPError sebagai e:
# Cetak kode kesalahan dan alasan kesalahan
print("Kode kesalahan:%d\nAlasan kesalahan:%s" %(e.kode, e.alasan))

Keluaran

Di sini, skrip dieksekusi dua kali. Alamat URL pertama yang diambil sebagai input ada dan modul telah mencetak pesan. Alamat URL kedua yang diambil sebagai input tidak ada dan modul telah menghasilkan HTTPError.

Kesimpulan

Tutorial ini membahas banyak kegunaan penting dari urlib modul dengan menggunakan berbagai contoh untuk membantu pembaca mengetahui fungsi modul ini dengan Python.

Ulasan Mouse Nirkabel Microsoft Sculpt Touch
Saya baru-baru ini membaca tentang Microsoft Sculpt Touch mouse nirkabel dan memutuskan untuk membelinya. Setelah menggunakannya untuk sementara waktu...
Trackpad dan Mouse Pointer di Layar AppyMouse untuk Tablet Windows
Pengguna tablet sering melewatkan penunjuk mouse, terutama ketika mereka terbiasa menggunakan laptop. Layar sentuh Smartphone dan tablet hadir dengan ...
Tombol tengah mouse tidak berfungsi di Windows 10
Itu tombol tengah mouse membantu Anda menelusuri halaman web dan layar yang panjang dengan banyak data. Jika itu berhenti, Anda akhirnya akan mengguna...