Saya telah menghabiskan banyak waktu sejauh saya pemula di Python.
Bagaimana saya bisa memecahkan kode URL seperti itu:
example.com?title=%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D0%B2%D0%B0%D1%8F+%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B0
untuk yang ini di python 2.7: example.com?title==правовая+защита
url=urllib.unquote(url.encode("utf8"))
adalah mengembalikan sesuatu yang sangat jelek.
Masih tidak ada solusi, bantuan apa pun dihargai.
Jawaban:
Data adalah byte yang disandikan UTF-8 yang lolos dengan kutipan URL, sehingga Anda ingin men - decode , dengan
urllib.parse.unquote()
, yang menangani decoding dari data yang disandikan pada persen ke UTF-8 byte dan kemudian ke teks, secara transparan:Demo:
Setara dengan Python 2 adalah
urllib.unquote()
, tetapi ini mengembalikan bytestring, jadi Anda harus mendekode secara manual:sumber
+
adalah ruang dalamx-www-form-urlencoded
data ; Anda akan menggunakannyaurllib.parse.parse_qs()
untuk menguraikannya, atau menggunakannyaurllib.parse.unquote_plus()
. Tetapi mereka hanya akan muncul di string kueri, bukan bagian URL lainnya.Jika Anda menggunakan Python 3, Anda bisa menggunakan
urllib.parse
memberi:
sumber