Modul ini mendefinisikan antarmuka standar untuk memecah rangkaian Uniform Resource Locator (URL) dalam komponen (skema pengalamatan, lokasi jaringan, jalur, dll. ), untuk menggabungkan kembali komponen menjadi string URL, dan untuk mengonversi "URL relatif" menjadi URL absolut yang diberi "URL dasar. ” Show Modul telah dirancang untuk mencocokkan RFC internet pada Relative Uniform Resource Locators. Ini mendukung skema URL berikut. >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')0, >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')1, >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')2, >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')3, >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')4, >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')5, >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')6, >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')7, >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')8, >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')9, >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')0, >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')1, >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')2, >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')3, >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')4, >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')5, >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')6, >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')7, >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')8, >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')9, (addressing scheme, network location, path, query, fragment identifier).0, (addressing scheme, network location, path, query, fragment identifier).1, (addressing scheme, network location, path, query, fragment identifier).2, Modul mendefinisikan fungsi yang terbagi dalam dua kategori besar. Penguraian URL dan kutipan URL. Ini dibahas secara rinci di bagian berikut Penguraian URLFungsi penguraian URL berfokus pada pemisahan string URL menjadi komponennya, atau menggabungkan komponen URL ke dalam string URL urllib. mengurai. urlparse(urlstring , skema='', allow_fragments=True)Parsing URL menjadi enam komponen, kembalikan 6 item. Ini sesuai dengan struktur umum URL. (addressing scheme, network location, path, query, fragment identifier).5. Setiap item tuple adalah sebuah string, kemungkinan kosong. Komponen tidak dipecah menjadi bagian yang lebih kecil (misalnya, lokasi jaringan adalah string tunggal), dan % lolos tidak diperluas. Pembatas seperti yang ditunjukkan di atas bukan bagian dari hasil, kecuali untuk garis miring di komponen jalur, yang dipertahankan jika ada. Misalnya >>> from urllib.parse import urlparse >>> urlparse("scheme://netloc/path;parameters?query#fragment") ParseResult(scheme='scheme', netloc='netloc', path='/path;parameters', params='', query='query', fragment='fragment') >>> o = urlparse("http://docs.python.org:80/3/library/urllib.parse.html?" .. "highlight=params#url-parsing") >>> o ParseResult(scheme='http', netloc='docs.python.org:80', path='/3/library/urllib.parse.html', params='', query='highlight=params', fragment='url-parsing') >>> o.scheme 'http' >>> o.netloc 'docs.python.org:80' >>> o.hostname 'docs.python.org' >>> o.port 80 >>> o._replace(fragment="").geturl() 'http://docs.python.org:80/3/library/urllib.parse.html?highlight=params' Mengikuti spesifikasi sintaks di RFC 1808, urlparse mengenali netloc hanya jika diperkenalkan dengan benar oleh '//'. Jika tidak, masukan dianggap sebagai URL relatif dan dengan demikian dimulai dengan komponen jalur >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='') Argumen skema memberikan skema pengalamatan default, untuk digunakan hanya jika URL tidak menentukannya. Itu harus jenis yang sama (teks atau byte) dengan urlstring, kecuali bahwa nilai default (addressing scheme, network location, path, query, fragment identifier).6 selalu diizinkan, dan secara otomatis dikonversi ke (addressing scheme, network location, path, query, fragment identifier).7 jika sesuai Jika argumen allow_fragments salah, pengidentifikasi fragmen tidak dikenali. Sebagai gantinya, mereka diuraikan sebagai bagian dari jalur, parameter, atau komponen kueri, dan (addressing scheme, network location, path, query, fragment identifier).8 disetel ke string kosong di nilai kembalian Nilai yang dikembalikan adalah a , yang berarti itemnya dapat diakses dengan indeks atau sebagai atribut bernama, yaitu Atribut Indeks Nilai Nilai jika tidak ada (addressing scheme, network location, path, query, fragment identifier)._9 0 Penentu skema URL parameter skema >>> from urllib.parse import urljoin >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', 'FAQ.html') 'http://www.cwi.nl/%7Eguido/FAQ.html'0 1 bagian lokasi jaringan string kosong >>> from urllib.parse import urljoin >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', 'FAQ.html') 'http://www.cwi.nl/%7Eguido/FAQ.html'1 2 Jalur hierarkis string kosong >>> from urllib.parse import urljoin >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', 'FAQ.html') 'http://www.cwi.nl/%7Eguido/FAQ.html'2 3 Parameter untuk elemen jalur terakhir string kosong >>> from urllib.parse import urljoin >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', 'FAQ.html') 'http://www.cwi.nl/%7Eguido/FAQ.html'3 4 komponen kueri string kosong (addressing scheme, network location, path, query, fragment identifier).8 5 Pengidentifikasi fragmen string kosong >>> from urllib.parse import urljoin >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', 'FAQ.html') 'http://www.cwi.nl/%7Eguido/FAQ.html'5 Nama belakang >>> from urllib.parse import urljoin >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', 'FAQ.html') 'http://www.cwi.nl/%7Eguido/FAQ.html'7 Kata sandi >>> from urllib.parse import urljoin >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', 'FAQ.html') 'http://www.cwi.nl/%7Eguido/FAQ.html'_9 Nama host (huruf kecil) >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', .. '//www.python.org/%7Eguido') 'http://www.python.org/%7Eguido'1 Nomor port sebagai bilangan bulat, jika ada Membaca atribut >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', .. '//www.python.org/%7Eguido') 'http://www.python.org/%7Eguido'_1 akan memunculkan a jika port yang tidak valid ditentukan di URL. Lihat bagian untuk informasi lebih lanjut tentang objek hasil Tanda kurung siku yang tidak cocok di atribut >>> from urllib.parse import urljoin >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', 'FAQ.html') 'http://www.cwi.nl/%7Eguido/FAQ.html'0 akan memunculkan a Karakter dalam atribut >>> from urllib.parse import urljoin >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', 'FAQ.html') 'http://www.cwi.nl/%7Eguido/FAQ.html'0 yang terurai di bawah normalisasi NFKC (seperti yang digunakan oleh pengkodean IDNA) menjadi >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', .. '//www.python.org/%7Eguido') 'http://www.python.org/%7Eguido'8, >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', .. '//www.python.org/%7Eguido') 'http://www.python.org/%7Eguido'9, >>> from urllib.parse import urlsplit >>> url = 'HTTP://www.Python.org/doc/#' >>> r1 = urlsplit(url) >>> r1.geturl() 'http://www.Python.org/doc/' >>> r2 = urlsplit(r1.geturl()) >>> r2.geturl() 'http://www.Python.org/doc/'0, >>> from urllib.parse import urlsplit >>> url = 'HTTP://www.Python.org/doc/#' >>> r1 = urlsplit(url) >>> r1.geturl() 'http://www.Python.org/doc/' >>> r2 = urlsplit(r1.geturl()) >>> r2.geturl() 'http://www.Python.org/doc/'1, atau >>> from urllib.parse import urlsplit >>> url = 'HTTP://www.Python.org/doc/#' >>> r1 = urlsplit(url) >>> r1.geturl() 'http://www.Python.org/doc/' >>> r2 = urlsplit(r1.geturl()) >>> r2.geturl() 'http://www.Python.org/doc/'2 akan menimbulkan. Jika URL didekomposisi sebelum parsing, tidak ada kesalahan yang akan muncul Seperti halnya semua tuple bernama, subclass memiliki beberapa metode dan atribut tambahan yang sangat berguna. Salah satu metode tersebut adalah >>> from urllib.parse import urlsplit >>> url = 'HTTP://www.Python.org/doc/#' >>> r1 = urlsplit(url) >>> r1.geturl() 'http://www.Python.org/doc/' >>> r2 = urlsplit(r1.geturl()) >>> r2.geturl() 'http://www.Python.org/doc/'_4. Metode >>> from urllib.parse import urlsplit >>> url = 'HTTP://www.Python.org/doc/#' >>> r1 = urlsplit(url) >>> r1.geturl() 'http://www.Python.org/doc/' >>> r2 = urlsplit(r1.geturl()) >>> r2.geturl() 'http://www.Python.org/doc/'_4 akan mengembalikan objek ParseResult baru menggantikan bidang tertentu dengan nilai baru >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') Berubah di versi 3. 2. Menambahkan kemampuan penguraian URL IPv6. Berubah di versi 3. 3. Fragmen sekarang diurai untuk semua skema URL (kecuali allow_fragment salah), sesuai dengan RFC 3986. Sebelumnya, ada daftar skema yang diizinkan yang mendukung fragmen. Berubah di versi 3. 6. Nomor port di luar jangkauan sekarang menaikkan , bukannya kembali. Berubah di versi 3. 8. Karakter yang memengaruhi penguraian netloc di bawah normalisasi NFKC kini akan dinaikkan. urllib. mengurai. parse_qs(qs , keep_blank_values=False, strict_parsing=False, encoding='utf-8', errors='replace', max_num_fields=None, separator='&')Parsing string kueri yang diberikan sebagai argumen string (data tipe application/x-www-form-urlencoded). Data dikembalikan sebagai kamus. Kunci kamus adalah nama variabel kueri unik dan nilainya adalah daftar nilai untuk setiap nama Argumen opsional keep_blank_values adalah bendera yang menunjukkan apakah nilai kosong dalam kueri yang disandikan persen harus diperlakukan sebagai string kosong. Nilai sebenarnya menunjukkan bahwa kosong harus dipertahankan sebagai string kosong. Nilai false default menunjukkan bahwa nilai kosong harus diabaikan dan diperlakukan seolah-olah tidak disertakan Argumen opsional strict_parsing adalah bendera yang menunjukkan apa yang harus dilakukan dengan kesalahan parsing. Jika salah (default), kesalahan diabaikan secara diam-diam. Jika benar, kesalahan menimbulkan pengecualian Parameter pengkodean dan kesalahan opsional menentukan cara mendekode urutan yang dikodekan persen menjadi karakter Unicode, seperti yang diterima oleh metode Argumen opsional max_num_fields adalah jumlah maksimum bidang yang akan dibaca. Jika disetel, maka lempar a jika ada lebih dari bidang max_num_fields yang dibaca Pemisah argumen opsional adalah simbol yang digunakan untuk memisahkan argumen kueri. Standarnya adalah Gunakan fungsi (dengan parameter Berubah di versi 3. 2. Tambahkan parameter encoding dan error. Berubah di versi 3. 8. Menambahkan parameter max_num_fields. Berubah di versi 3. 10. Menambahkan parameter pemisah dengan nilai default Parsing string kueri yang diberikan sebagai argumen string (data tipe application/x-www-form-urlencoded). Data dikembalikan sebagai daftar nama, pasangan nilai Argumen opsional keep_blank_values adalah bendera yang menunjukkan apakah nilai kosong dalam kueri yang disandikan persen harus diperlakukan sebagai string kosong. Nilai sebenarnya menunjukkan bahwa kosong harus dipertahankan sebagai string kosong. Nilai false default menunjukkan bahwa nilai kosong harus diabaikan dan diperlakukan seolah-olah tidak disertakan Argumen opsional strict_parsing adalah bendera yang menunjukkan apa yang harus dilakukan dengan kesalahan parsing. Jika salah (default), kesalahan diabaikan secara diam-diam. Jika benar, kesalahan menimbulkan pengecualian Parameter pengkodean dan kesalahan opsional menentukan cara mendekode urutan yang dikodekan persen menjadi karakter Unicode, seperti yang diterima oleh metode Argumen opsional max_num_fields adalah jumlah maksimum bidang yang akan dibaca. Jika disetel, maka lempar a jika ada lebih dari bidang max_num_fields yang dibaca Pemisah argumen opsional adalah simbol yang digunakan untuk memisahkan argumen kueri. Standarnya adalah Gunakan fungsi untuk mengonversi daftar pasangan tersebut menjadi string kueri Berubah di versi 3. 2. Tambahkan parameter encoding dan error. Berubah di versi 3. 8. Menambahkan parameter max_num_fields. Berubah di versi 3. 10. Menambahkan parameter pemisah dengan nilai default Bangun URL dari tuple seperti yang dikembalikan oleh >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', .. '//www.python.org/%7Eguido') 'http://www.python.org/%7Eguido'9 dengan kueri kosong; RFC menyatakan bahwa ini setara)urllib. mengurai. urlsplit(urlstring , skema='', allow_fragments=True) Ini mirip dengan , tetapi tidak memisahkan parameter dari URL. Ini umumnya harus digunakan daripada jika sintaks URL yang lebih baru yang memungkinkan parameter diterapkan ke setiap segmen dari bagian jalur URL (lihat RFC 2396) diinginkan. Fungsi terpisah diperlukan untuk memisahkan segmen dan parameter jalur. Fungsi ini mengembalikan 5 item (addressing scheme, network location, path, query, fragment identifier). Nilai yang dikembalikan adalah a , itemnya dapat diakses dengan indeks atau sebagai atribut bernama Atribut Indeks Nilai Nilai jika tidak ada (addressing scheme, network location, path, query, fragment identifier)._9 0 Penentu skema URL parameter skema >>> from urllib.parse import urljoin >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', 'FAQ.html') 'http://www.cwi.nl/%7Eguido/FAQ.html'0 1 bagian lokasi jaringan string kosong >>> from urllib.parse import urljoin >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', 'FAQ.html') 'http://www.cwi.nl/%7Eguido/FAQ.html'1 2 Jalur hierarkis string kosong >>> from urllib.parse import urljoin >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', 'FAQ.html') 'http://www.cwi.nl/%7Eguido/FAQ.html'3 3 komponen kueri string kosong (addressing scheme, network location, path, query, fragment identifier).8 4 Pengidentifikasi fragmen string kosong >>> from urllib.parse import urljoin >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', 'FAQ.html') 'http://www.cwi.nl/%7Eguido/FAQ.html'5 Nama belakang >>> from urllib.parse import urljoin >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', 'FAQ.html') 'http://www.cwi.nl/%7Eguido/FAQ.html'7 Kata sandi >>> from urllib.parse import urljoin >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', 'FAQ.html') 'http://www.cwi.nl/%7Eguido/FAQ.html'_9 Nama host (huruf kecil) >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', .. '//www.python.org/%7Eguido') 'http://www.python.org/%7Eguido'1 Nomor port sebagai bilangan bulat, jika ada Membaca atribut >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', .. '//www.python.org/%7Eguido') 'http://www.python.org/%7Eguido'_1 akan memunculkan a jika port yang tidak valid ditentukan di URL. Lihat bagian untuk informasi lebih lanjut tentang objek hasil Tanda kurung siku yang tidak cocok di atribut >>> from urllib.parse import urljoin >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', 'FAQ.html') 'http://www.cwi.nl/%7Eguido/FAQ.html'0 akan memunculkan a Karakter dalam atribut >>> from urllib.parse import urljoin >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', 'FAQ.html') 'http://www.cwi.nl/%7Eguido/FAQ.html'0 yang terurai di bawah normalisasi NFKC (seperti yang digunakan oleh pengkodean IDNA) menjadi >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', .. '//www.python.org/%7Eguido') 'http://www.python.org/%7Eguido'8, >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', .. '//www.python.org/%7Eguido') 'http://www.python.org/%7Eguido'9, >>> from urllib.parse import urlsplit >>> url = 'HTTP://www.Python.org/doc/#' >>> r1 = urlsplit(url) >>> r1.geturl() 'http://www.Python.org/doc/' >>> r2 = urlsplit(r1.geturl()) >>> r2.geturl() 'http://www.Python.org/doc/'0, >>> from urllib.parse import urlsplit >>> url = 'HTTP://www.Python.org/doc/#' >>> r1 = urlsplit(url) >>> r1.geturl() 'http://www.Python.org/doc/' >>> r2 = urlsplit(r1.geturl()) >>> r2.geturl() 'http://www.Python.org/doc/'1, atau >>> from urllib.parse import urlsplit >>> url = 'HTTP://www.Python.org/doc/#' >>> r1 = urlsplit(url) >>> r1.geturl() 'http://www.Python.org/doc/' >>> r2 = urlsplit(r1.geturl()) >>> r2.geturl() 'http://www.Python.org/doc/'2 akan menimbulkan. Jika URL didekomposisi sebelum parsing, tidak ada kesalahan yang akan muncul Mengikuti pembaruan RFC 3986, baris baru ASCII >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')17, >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')18 dan tab >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')19 karakter dihapus dari URL Berubah di versi 3. 6. Nomor port di luar jangkauan sekarang menaikkan , bukannya kembali. Berubah di versi 3. 8. Karakter yang memengaruhi penguraian netloc di bawah normalisasi NFKC kini akan dinaikkan. Berubah di versi 3. 10. Karakter baris baru dan tab ASCII dihapus dari URL. urllib. mengurai. urlunsplit(bagian)Gabungkan elemen-elemen tuple yang dikembalikan oleh menjadi URL lengkap sebagai string. Argumen bagian dapat berupa lima item yang dapat diulang. Ini mungkin menghasilkan URL yang sedikit berbeda, tetapi setara, jika URL yang diurai awalnya memiliki pembatas yang tidak perlu (misalnya, a ? dengan kueri kosong; RFC menyatakan bahwa ini setara) urllib. mengurai. urlgabung(basis , url, allow_fragments=True)Bangun URL lengkap ("absolut") dengan menggabungkan "URL dasar" (basis) dengan URL lain (url). Secara informal, ini menggunakan komponen URL dasar, khususnya skema pengalamatan, lokasi jaringan, dan (bagian dari) jalur, untuk menyediakan komponen yang hilang di URL relatif. Misalnya >>> from urllib.parse import urljoin >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', 'FAQ.html') 'http://www.cwi.nl/%7Eguido/FAQ.html' Argumen allow_fragments memiliki arti dan standar yang sama dengan for Catatan Jika url adalah URL absolut (yaitu, dimulai dengan >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')25 atau >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')26), nama host dan/atau skema url akan ditampilkan dalam hasil. Misalnya >>> urljoin('http://www.cwi.nl/%7Eguido/Python.html', .. '//www.python.org/%7Eguido') 'http://www.python.org/%7Eguido' Jika Anda tidak menginginkan perilaku itu, proses awal url dengan and , hapus kemungkinan skema dan bagian netloc Berubah di versi 3. 5. Perilaku diperbarui agar sesuai dengan semantik yang ditentukan dalam RFC 3986. urllib. mengurai. urldefrag(url)Jika url berisi pengidentifikasi fragmen, kembalikan versi url yang dimodifikasi tanpa pengidentifikasi fragmen, dan pengidentifikasi fragmen sebagai string terpisah. Jika tidak ada pengidentifikasi fragmen di url, kembalikan url yang tidak dimodifikasi dan string kosong Nilai yang dikembalikan adalah a , itemnya dapat diakses dengan indeks atau sebagai atribut bernama Atribut Indeks Nilai Nilai jika tidak ada >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')_29 0 URL tanpa fragmen string kosong (addressing scheme, network location, path, query, fragment identifier).8 1 Pengidentifikasi fragmen string kosong Lihat bagian untuk informasi lebih lanjut tentang objek hasil Berubah di versi 3. 2. Hasilnya adalah objek terstruktur daripada 2-tuple sederhana. urllib. mengurai. buka(url)Ekstrak url dari URL terbungkus (yaitu, string yang diformat sebagai >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')31, >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')32, >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')33 atau >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')34). Jika url bukan URL yang dibungkus, itu dikembalikan tanpa perubahan Mengurai Byte yang Dikodekan ASCIIFungsi penguraian URL pada awalnya dirancang untuk beroperasi hanya pada string karakter. Dalam praktiknya, adalah berguna untuk dapat memanipulasi URL yang dikutip dan disandikan dengan benar sebagai urutan byte ASCII. Dengan demikian, fungsi penguraian URL dalam modul ini semuanya beroperasi pada dan objek selain objek Jika data diteruskan, hasilnya juga hanya akan berisi data. Jika atau data diteruskan, hasilnya hanya akan berisi data Mencoba mencampur data dengan atau dalam satu pemanggilan fungsi akan menghasilkan peningkatan, sementara mencoba meneruskan nilai byte non-ASCII akan memicu Untuk mendukung konversi objek hasil yang lebih mudah antara dan , semua nilai kembalian dari fungsi parsing URL menyediakan metode >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')50 (bila hasilnya berisi data) atau metode >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')52 (bila hasilnya berisi data). Tanda tangan dari metode ini cocok dengan yang sesuai dan metode (kecuali bahwa pengkodean default adalah >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')56 daripada >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')57). Masing-masing menghasilkan nilai dari jenis yang sesuai yang berisi data (untuk >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')50 metode) atau data (untuk >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')52 metode) Aplikasi yang perlu beroperasi pada URL yang berpotensi dikutip secara tidak tepat yang mungkin berisi data non-ASCII harus melakukan decoding sendiri dari byte ke karakter sebelum menjalankan metode penguraian URL Perilaku yang dijelaskan di bagian ini hanya berlaku untuk fungsi penguraian URL. Fungsi pengutipan URL menggunakan aturannya sendiri saat memproduksi atau mengonsumsi urutan byte sebagaimana dirinci dalam dokumentasi fungsi pengutipan URL individual Berubah di versi 3. 2. Fungsi parsing URL sekarang menerima urutan byte berenkode ASCII Hasil Parse TerstrukturObjek hasil dari , dan fungsi adalah subkelas dari tipe tersebut. Subkelas ini menambahkan atribut yang tercantum dalam dokumentasi untuk fungsi tersebut, dukungan pengkodean dan penguraian kode yang dijelaskan di bagian sebelumnya, serta metode tambahan urllib. mengurai. Hasil Terpisah. geturl()Kembalikan versi gabungan ulang dari URL asli sebagai string. Ini mungkin berbeda dari URL asli karena skema dapat dinormalisasi menjadi huruf kecil dan komponen kosong dapat dibuang. Secara khusus, parameter kosong, kueri, dan pengidentifikasi fragmen akan dihapus Untuk hasil, hanya pengidentifikasi fragmen kosong yang akan dihapus. Untuk dan hasilnya, semua perubahan yang dicatat akan dilakukan pada URL yang dikembalikan oleh metode ini Hasil dari metode ini tetap tidak berubah jika dilewatkan kembali melalui fungsi parsing asli >>> from urllib.parse import urlsplit >>> url = 'HTTP://www.Python.org/doc/#' >>> r1 = urlsplit(url) >>> r1.geturl() 'http://www.Python.org/doc/' >>> r2 = urlsplit(r1.geturl()) >>> r2.geturl() 'http://www.Python.org/doc/' Kelas berikut menyediakan implementasi dari hasil penguraian terstruktur saat beroperasi pada objek kelas urllib. mengurai. DefragResult(url , fragmen)Kelas konkret untuk hasil yang berisi data. Metode >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')50 mengembalikan sebuah instance Baru di versi 3. 2 kelas urllib. mengurai. ParseResult(skema , netloc, path, params, query, fragment)Kelas konkret untuk hasil yang berisi data. Metode >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')50 mengembalikan sebuah instancekelas urllib. mengurai. SplitResult(skema , netloc, path, query, fragment) Kelas konkret untuk hasil yang berisi data. Metode >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')50 mengembalikan sebuah instance Kelas-kelas berikut menyediakan implementasi dari hasil penguraian saat beroperasi pada atau objek Kelas konkret untuk hasil yang berisi data. Metode >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')52 mengembalikan sebuah instance Baru di versi 3. 2 kelas urllib. mengurai. ParseResultBytes(skema , netloc, path, params, query, fragment)Kelas konkret untuk hasil yang berisi data. Metode >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')52 mengembalikan sebuah instance Baru di versi 3. 2 kelas urllib. mengurai. SplitResultBytes(skema , netloc, path, query, fragment)Kelas konkret untuk hasil yang berisi data. Metode >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')52 mengembalikan sebuah instance Baru di versi 3. 2 Mengutip URLFungsi kutipan URL berfokus pada pengambilan data program dan membuatnya aman untuk digunakan sebagai komponen URL dengan mengutip karakter khusus dan menyandikan teks non-ASCII dengan tepat. Mereka juga mendukung pembalikan operasi ini untuk membuat ulang data asli dari konten komponen URL jika tugas tersebut belum dicakup oleh fungsi penguraian URL di atas urllib. mengurai. kutipan(string , aman='/', encoding=None, errors=None)Ganti karakter khusus dalam string menggunakan escape ________0______96. Huruf, angka, dan karakter ________0______97 tidak pernah dikutip. Secara default, fungsi ini ditujukan untuk mengutip bagian jalur URL. Parameter aman opsional menentukan karakter ASCII tambahan yang tidak boleh dikutip — nilai standarnya adalah >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')98 string dapat berupa a atau objek Berubah di versi 3. 7. Pindah dari RFC 2396 ke RFC 3986 untuk mengutip string URL. “~” sekarang disertakan dalam kumpulan karakter tanpa pagu harga. Parameter pengkodean dan kesalahan opsional menentukan cara menangani karakter non-ASCII, seperti yang diterima oleh metode. penyandian default ke >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')_57. kesalahan default ke >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')_03, artinya karakter yang tidak didukung memunculkan a. penyandian dan kesalahan tidak boleh diberikan jika string adalah a , atau a dinaikkan Perhatikan bahwa >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')_07 setara dengan >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')08 Contoh. >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')_09 menghasilkan >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')10urllib. mengurai. quote_plus(string , aman='', encoding=None, errors=None) Seperti , tetapi juga ganti spasi dengan tanda tambah, seperti yang diperlukan untuk mengutip nilai formulir HTML saat membuat string kueri untuk masuk ke URL. Tanda tambah di string asli diloloskan kecuali jika disertakan dalam brankas. Itu juga tidak memiliki default aman untuk ________0______98 Contoh. >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')_13 menghasilkan >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')14urllib. mengurai. quote_from_bytes(byte , aman='/') Seperti , tetapi menerima objek daripada , dan tidak melakukan pengkodean string-ke-byte Contoh. >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')_18 menghasilkan >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')19urllib. mengurai. hapus tanda kutip(string , pengkodean='utf-8', errors='replace') Ganti >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')_96 escapes dengan karakter tunggal yang setara. Parameter pengkodean dan kesalahan opsional menentukan cara mendekode urutan yang dikodekan persen menjadi karakter Unicode, seperti yang diterima oleh metode string dapat berupa a atau objek penyandian default ke >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')_57. kesalahan default ke >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')_25, artinya urutan yang tidak valid diganti dengan karakter placeholder Contoh. >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')_26 menghasilkan >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')27 Berubah di versi 3. 9. parameter string mendukung objek byte dan str (sebelumnya hanya str). urllib. mengurai. unquote_plus(string , pengkodean='utf-8', errors='replace')Seperti , tetapi juga ganti tanda tambah dengan spasi, seperti yang diperlukan untuk tanda kutip nilai formulir HTML tali harus a Contoh. >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')_30 menghasilkan >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')27urllib. mengurai. unquote_to_bytes(string) Ganti >>> from urllib.parse import urlparse >>> urlparse('//www.cwi.nl:80/%7Eguido/Python.html') ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('www.cwi.nl/%7Eguido/Python.html') ParseResult(scheme='', netloc='', path='www.cwi.nl/%7Eguido/Python.html', params='', query='', fragment='') >>> urlparse('help/Python.html') ParseResult(scheme='', netloc='', path='help/Python.html', params='', query='', fragment='')_96 lolos dengan ekuivalen oktet tunggalnya, dan kembalikan objek string dapat berupa a atau objek Jika berupa , karakter non-ASCII yang tidak lolos dalam string akan dikodekan ke dalam byte UTF-8 Contoh. >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')_37 menghasilkan >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')38urllib. mengurai. urlencode(permintaan , doseq=False, safe='', encoding=None, errors=None, quote_via=quote_plus) Mengonversi objek pemetaan atau urutan tupel dua elemen, yang mungkin berisi atau objek, menjadi string teks ASCII yang dikodekan persen. Jika string yang dihasilkan akan digunakan sebagai data untuk operasi POST dengan fungsi tersebut, maka string tersebut harus dikodekan menjadi byte, jika tidak maka akan menghasilkan String yang dihasilkan adalah serangkaian >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')_43 pasangan yang dipisahkan oleh >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')44 karakter, di mana kunci dan nilai dikutip menggunakan fungsi quote_via. Secara default, digunakan untuk mengutip nilai, yang berarti spasi dikutip sebagai >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')46 karakter dan karakter '/' dikodekan sebagai >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')47, yang mengikuti standar untuk permintaan GET ( >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')48). Fungsi alternatif yang dapat diteruskan sebagai quote_via adalah , yang akan menyandikan spasi sebagai >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')50 dan tidak menyandikan karakter '/'. Untuk kontrol maksimum atas apa yang dikutip, gunakan >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')51 dan tentukan nilai untuk keamanan Ketika urutan tupel dua elemen digunakan sebagai argumen kueri, elemen pertama dari setiap tupel adalah kunci dan yang kedua adalah nilai. Elemen nilai itu sendiri dapat berupa urutan dan dalam hal ini, jika parameter opsional doseq dievaluasi menjadi >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')43 pasang dipisahkan oleh >>> from urllib.parse import urlparse >>> u = urlparse('//www.cwi.nl:80/%7Eguido/Python.html') >>> u ParseResult(scheme='', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='') >>> u._replace(scheme='http') ParseResult(scheme='http', netloc='www.cwi.nl:80', path='/%7Eguido/Python.html', params='', query='', fragment='')_44 dihasilkan untuk setiap elemen urutan nilai untuk kunci. Urutan parameter dalam string yang disandikan akan cocok dengan urutan tupel parameter dalam urutan Parameter safe, encoding, dan error diturunkan ke quote_via (parameter encoding dan error hanya diteruskan jika elemen kueri adalah ) Untuk membalikkan proses pengkodean ini, dan disediakan dalam modul ini untuk mengurai string kueri ke dalam struktur data Python Lihat untuk mengetahui bagaimana metode ini dapat digunakan untuk membuat string kueri URL atau data untuk permintaan POST Berubah di versi 3. 2. kueri mendukung byte dan objek string. Baru di versi 3. 5. quote_via parameter. Lihat juga WHATWG - URL Standar hidupKelompok Kerja untuk Standar URL yang mendefinisikan URL, domain, alamat IP, format aplikasi/x-www-form-urlencoded, dan API mereka RFC 3986 - Pengidentifikasi Sumber Daya SeragamIni adalah standar saat ini (STD66). Setiap perubahan pada urllib. modul parse harus sesuai dengan ini. Penyimpangan tertentu dapat diamati, yang sebagian besar untuk tujuan kompatibilitas mundur dan untuk persyaratan penguraian de-facto tertentu seperti yang biasa diamati di browser utama RFC 2732 - Format untuk Alamat IPv6 Literal di URLIni menentukan persyaratan penguraian URL IPv6 RFC 2396 - Pengidentifikasi Sumber Daya Seragam (URI). Sintaks GenerikDokumen yang menjelaskan persyaratan sintaksis umum untuk Uniform Resource Names (URN) dan Uniform Resource Locators (URL) RFC 2368 - Skema URL mailtoParsing persyaratan untuk skema URL mailto RFC 1808 - Relative Uniform Resource LocatorsPermintaan Komentar ini mencakup aturan untuk bergabung dengan URL absolut dan relatif, termasuk sejumlah "Contoh Abnormal" yang mengatur perlakuan kasus perbatasan Bagaimana cara menghapus URL dari teks dengan Python?Hapus Url dari Teks dengan Python . Menggunakan re. sub() berfungsi untuk menghapus URL dari Teks dengan Python Menggunakan re. fungsi findall() untuk menghapus URL dari Teks dengan Python Menggunakan re. fungsi search() untuk menghapus URL dari Teks dengan Python Menggunakan urllib. urlparse untuk menghapus URL dari Teks dengan Python Bagaimana cara menghapus URL dari teks?Untuk menghapus hyperlink tetapi mempertahankan teksnya, klik kanan hyperlink dan klik Remove Hyperlink . Untuk menghapus hyperlink sepenuhnya, pilih dan tekan Delete.
Bagaimana cara menghapus semua URL dari sebuah string dengan Python?sub() metode untuk menghapus URL dari teks, mis. g. hasil = kembali. sub(r'http\S+', '', my_string) . Di sana. metode sub() akan menghapus semua URL dari string dengan menggantinya dengan string kosong.
Bagaimana cara menghapus simbol dari teks dengan Python?Anda dapat menghapus karakter dari string Python menggunakan replace() atau translate() . Kedua metode ini mengganti karakter atau string dengan nilai tertentu. Jika string kosong ditentukan, karakter atau string yang Anda pilih akan dihapus dari string tanpa penggantian. |