Bagaimana cara menghapus http dari teks dengan python?

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. ”

Modul telah dirancang untuk mencocokkan RFC internet pada Relative Uniform Resource Locators. Ini mendukung skema URL berikut. file, ftp,

>>> 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 URL

Fungsi 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 urllib.parse_2

Gunakan fungsi (dengan parameter urllib.parse_4 disetel ke urllib.parse5) untuk mengonversi kamus 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 urllib.parse2. Versi Python lebih awal dari Python 3. 10 diizinkan menggunakan urllib.parse7 dan urllib.parse2 sebagai pemisah parameter kueri. Ini telah diubah untuk mengizinkan hanya satu kunci pemisah, dengan urllib.parse2 sebagai pemisah default.

urllib. mengurai. parse_qsl(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 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 urllib.parse_2

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 urllib.parse2. Versi Python lebih awal dari Python 3. 10 diizinkan menggunakan urllib.parse7 dan urllib.parse2 sebagai pemisah parameter kueri. Ini telah diubah untuk mengizinkan hanya satu kunci pemisah, dengan urllib.parse2 sebagai pemisah default.

urllib. mengurai. urlunparse(bagian)

Bangun URL dari tuple seperti yang dikembalikan oleh file9. Argumen bagian dapat berupa enam item yang dapat diulang. Ini mungkin menghasilkan URL yang sedikit berbeda, tetapi setara, jika URL yang diuraikan awalnya memiliki pembatas yang tidak perlu (misalnya,

>>> 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 ASCII

Fungsi 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 Terstruktur

Objek 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 instance

kelas 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 urllib. mengurai. DefragResultBytes(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='')
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 URL

Fungsi 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='')
10

urllib. 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='')
14

urllib. 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='')
19

urllib. 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='')
27

urllib. 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='')
38

urllib. 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 urllib.parse5, masing-masing

>>> 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 hidup

Kelompok Kerja untuk Standar URL yang mendefinisikan URL, domain, alamat IP, format aplikasi/x-www-form-urlencoded, dan API mereka

RFC 3986 - Pengidentifikasi Sumber Daya Seragam

Ini 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 URL

Ini menentukan persyaratan penguraian URL IPv6

RFC 2396 - Pengidentifikasi Sumber Daya Seragam (URI). Sintaks Generik

Dokumen yang menjelaskan persyaratan sintaksis umum untuk Uniform Resource Names (URN) dan Uniform Resource Locators (URL)

RFC 2368 - Skema URL mailto

Parsing persyaratan untuk skema URL mailto

RFC 1808 - Relative Uniform Resource Locators

Permintaan 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.