Python

Cara Menggunakan Urllib di Python

Cara Menggunakan Urllib di Python

Python mengandungi modul bernama urib untuk mengendalikan tugas yang berkaitan dengan Uniform Resource Locator (URL). Modul ini dipasang di Python 3 secara lalai, dan mengambil URL protokol yang berbeza melalui urlopen () fungsi. Urllib dapat digunakan untuk banyak tujuan, seperti membaca isi laman web, membuat permintaan HTTP dan HTTPS, mengirim tajuk permintaan, dan mengambil tajuk respons. The urib modul mengandungi banyak modul lain untuk bekerja dengan URL, seperti urib.permintaan, urib.menghurai, dan urib.kesilapan, dalam kalangan yang lain. Tutorial ini akan menunjukkan kepada anda cara menggunakan modul Urllib di Python.

Contoh 1: Membuka dan membaca URL dengan huruf besar.permintaan

The urib.permintaan modul mengandungi kelas dan kaedah yang diperlukan untuk membuka dan membaca sebarang URL. Skrip berikut menunjukkan cara penggunaan urib.permintaan modul untuk membuka URL dan membaca kandungan URL. Di sini, urlopen () kaedah digunakan untuk membuka URL, “https: // www.linuxhint.com /."Jika URL itu sah, maka kandungan URL akan disimpan dalam objek yang dinamakan tindak balas. The baca () kaedah tindak balas objek kemudian digunakan untuk membaca kandungan URL.

#!/ usr / bin / env python3
# Modul permintaan permintaan urllib
mengimport urllib.permintaan
# Buka URL khusus untuk membaca menggunakan urlopen ()
tindak balas = urllib.permintaan.urlopen ('https: // www.linuxhint.com / ')
# Cetak data respons URL
cetak ("Keluaran URL adalah: \ n \ n", respons.baca ())

Pengeluaran

Output berikut akan muncul setelah menjalankan skrip.

Contoh 2: Menghuraikan dan menguraikan URL dengan huruf besar.menghurai

The urib.menghurai modul digunakan terutamanya untuk berpisah atau menyatukan pelbagai komponen URL. Skrip berikut menunjukkan penggunaan yang berbeza dari urib.menghurai modul. Keempat fungsi tersebut urib.menghurai digunakan dalam skrip berikut termasuk urlparse, urlunparse, urlplit, dan urlunsplit. The urlparse modul berfungsi seperti urlplit, dan juga urlunparse modul berfungsi seperti urlunsplit. Hanya ada satu perbezaan antara fungsi ini; itu dia, urlparse dan urlunparse mengandungi parameter tambahan bernama 'param'untuk pemisahan dan fungsi bergabung. Di sini, URL 'https: // linuxhint.com / play_sound_python / 'digunakan untuk membelah dan bergabung dengan URL.

#!/ usr / bin / env python3
 
# Import parse modul urllib
mengimport urllib.menghurai
 
# Menghuraikan URL menggunakan urlparse ()
urlParse = urllib.menghurai.urlparse ('https: // linuxhint.com / main_sound_python / ')
cetak ("\ nKeluaran URL setelah dihuraikan: \ n", urlParse)
 
# Bergabung dengan URL menggunakan urlunparse ()
urlUnparse = urllib.menghurai.urlunparse (urlParse)
cetak ("\ n Output penyatuan menguraikan URL: \ n", urlUnparse)
 
# Menghuraikan URL menggunakan urlsplit ()
urlSplit = urllib.menghurai.urlsplit ('https: // linuxhint.com / main_sound_python / ')
cetak ("\ nKeluaran URL setelah membelah: \ n", urlSplit)
 
# Bergabung dengan URL menggunakan urlunsplit ()
urlUnsplit = urllib.menghurai.urlunsplit (urlSplit)
cetak ("\ nHimpunan gabungan dari pemisahan URL: \ n", urlUnsplit)

Pengeluaran

Empat output berikut akan muncul setelah menjalankan skrip.

Contoh 3: Membaca tajuk jawapan HTML dengan huruf besar.permintaan

Skrip berikut menunjukkan bagaimana bahagian yang berbeza dari tajuk respons URL dapat diambil melalui maklumat () kaedah. The urib.permintaan modul yang digunakan untuk membuka URL, 'https: // linuxhint.com / python_pause_user_input /,'dan maklumat tajuk URL ini dicetak melalui maklumat () kaedah. Bahagian seterusnya dari skrip ini akan menunjukkan kepada anda cara membaca setiap bahagian tajuk secara berasingan. Di sini, Pelayan, Tarikh, dan Jenis kandungan nilai dicetak secara berasingan.

#!/ usr / bin / env python3
# Modul permintaan import urllib
mengimport urllib.permintaan
# Buka URL untuk membaca
urlResponse = urllib.permintaan.urlopen ('https: // linuxhint.com / python_pause_user_input / ')
# Membaca output tajuk respons URL
cetak (urlResponse.maklumat ())
# Membaca maklumat tajuk secara berasingan
cetak ('Pelayan respons =', urlResponse.maklumat () ["Pelayan"])
cetak ('Tarikh respons adalah =', urlResponse.maklumat () ["Tarikh"])
cetak ('Jenis kandungan respons adalah =', urlResponse.maklumat () ["Jenis Kandungan"])

Pengeluaran

Output berikut akan muncul setelah menjalankan skrip.

Contoh 4: Membaca jawapan URL baris demi baris

Alamat URL tempatan digunakan dalam skrip berikut. Di sini, fail HTML ujian bernama ujian.html dibuat di lokasi, var /www / html. Kandungan fail ini dibaca baris demi baris melalui  untuk gelung. The jalur () kaedah kemudian digunakan untuk membuang ruang dari kedua sisi setiap garis. Anda boleh menggunakan sebarang fail HTML dari pelayan tempatan untuk menguji skripnya. Kandungan dari ujian.html fail yang digunakan dalam contoh ini diberikan di bawah.

ujian.html:



Halaman Ujian


#!/ usr / bin / env python3
 
# Import urllib.modul permintaan
mengimport urllib.permintaan
 
# Buka url tempatan untuk membaca
tindak balas = urllib.permintaan.urlopen ('http: // localhost / ujian.html ')
 
# Baca URL dari jawapan
cetak ('URL:', respons.geturl ())
 
# Baca teks jawapan demi baris
cetak ("\ nMembaca kandungan:")
untuk baris sebagai tindak balas:
mencetak (garisan.jalur ())

Pengeluaran

Output berikut akan muncul setelah menjalankan skrip.

Contoh 5: Pengendalian pengecualian dengan huruf besar.kesilapan.Ralat URLE

Skrip berikut menunjukkan cara menggunakan Ralat URLE di Python melalui urib.kesilapan modul. Sebarang alamat URL boleh diambil sebagai input dari pengguna. Sekiranya alamat tidak ada, maka a Ralat URLE pengecualian akan dibangkitkan dan alasan kesalahan akan dicetak. Sekiranya nilai URL dalam format tidak sah, maka a Kesalahan Nilai akan dinaikkan dan kesalahan tersuai akan dicetak.

#!/ usr / bin / env python3
 
# Import modul yang diperlukan
mengimport urllib.permintaan
mengimport urllib.kesilapan
 
# cuba blok untuk membuka sebarang URL untuk membaca
cuba:
url = input ("Masukkan sebarang alamat URL:")
tindak balas = urllib.permintaan.urlopen (url)
mencetak (tindak balas.baca ())
 
# Tangkap ralat URL yang akan timbul semasa membuka URL apa pun
kecuali urllib.kesilapan.Ralat URLE sebagai e:
cetak ("Ralat URL:", e.alasan)
# Tangkap ralat URL yang tidak betul
kecuali ValueError:
cetak ("Masukkan alamat URL yang sah")

Pengeluaran

Skrip dilaksanakan tiga kali dalam tangkapan skrin berikut. Pada lelaran pertama, alamat URL diberikan dalam format yang tidak sah, menghasilkan ValueError. Alamat URL yang diberikan dalam lelaran kedua tidak ada, menghasilkan Ralat URLE. Alamat URL yang sah diberikan dalam lelaran ketiga, dan kandungan URL dicetak.

Contoh 6: Pengendalian pengecualian dengan huruf besar.kesilapan.Ralat HTTP

Skrip berikut menunjukkan cara menggunakan Ralat HTTP di Python melalui urib.kesilapan modul. Seorang Ralat HTM menghasilkan apabila alamat URL yang diberikan tidak ada.

#!/ usr / bin / env python3
# Import modul yang diperlukan
mengimport urllib.permintaan
mengimport urllib.kesilapan
 
# Masukkan URL yang sah
url = input ("Masukkan sebarang alamat URL:")
# Hantar permintaan untuk URL
permintaan = urllib.permintaan.Permintaan (url)
 
cuba:
# Cuba buka URL
urib.permintaan.urlopen (permintaan)
cetak ("URL Ada")
kecuali urllib.kesilapan.Error HTTP sebagai e:
# Cetak kod ralat dan sebab ralat
cetak ("Kod ralat:% d \ n Sebab ralat:% s"% (e.kod, e.alasan))

Pengeluaran

Di sini, skrip dilaksanakan dua kali. Alamat URL pertama diambil semasa input ada dan modul telah mencetak mesej. Alamat URL kedua diambil kerana input tidak ada dan modul telah menghasilkan Ralat HTTP.

Kesimpulannya

Tutorial ini membincangkan banyak kegunaan penting dari urib modul dengan menggunakan pelbagai contoh untuk membantu pembaca mengetahui fungsi modul ini di Python.

10 Permainan Teratas untuk Dimainkan di Ubuntu
Platform Windows telah menjadi salah satu platform dominan untuk permainan kerana peratusan besar permainan yang sedang berkembang hari ini untuk meny...
5 Permainan Arcade Terbaik untuk Linux
Pada masa kini, komputer adalah mesin serius yang digunakan untuk permainan. Sekiranya anda tidak dapat memperoleh skor tinggi baru, anda akan tahu ma...
Battle For Wesnoth 1.13.6 Pembangunan Dikeluarkan
Battle For Wesnoth 1.13.6 dilancarkan bulan lalu, adalah rilis pengembangan keenam di 1.13.siri x dan memberikan sejumlah penambahbaikan, terutamanya ...