天天看點

Python對Url内容進行編碼

在進行爬蟲或者網絡通路相關的程式設計時,經常需要對url進行拼接參數或其他内容,此時如果内容中出現空格等特殊字元顯然我們的url就會程式設計兩節,也就不完整了,通路肯定是要出錯的,是以人們發明了url編碼這個東西,即将特殊字元按照一定的規則進行編碼替換,比如:

空格編碼之後的值是%20

但是我總不能每次遇見空格都手動将空格替換成%20吧,各類程式設計語言肯定都會有提供的相關方法進行編碼的。

比如JavaScript中提供了“encodeURIComponent”方法。同樣的python中也提供了對應的方法進行編碼,而且是原生方法:

from urllib import parse
#這個是js對中文的編碼的結果
# encodeURIComponent('中國')
# "%E4%B8%AD%E5%9B%BD"
jsRet='%E4%B8%AD%E5%9B%BD'
print(parse.unquote(jsRet))        #unquote方法能夠解碼,輸出:中國
print(jsRet==parse.quote('中國'))  #quote能夠編碼,輸出:True說明編碼之後的結果和js編碼的結果是相同的
           

參考連結

URL 編碼 - 從 %00 到 %8f

ASCII Value URL-encode ASCII Value URL-encode ASCII Value URL-encode
æ %00 %30 ` %60
%01 1 %31 a %61
%02 2 %32 b %62
%03 3 %33 c %63
%04 4 %34 d %64
%05 5 %35 e %65
%06 6 %36 f %66
%07 7 %37 g %67
backspace %08 8 %38 h %68
tab %09 9 %39 i %69
linefeed %0a : %3a j %6a
%0b ; %3b k %6b
%0c < %3c l %6c
c return %0d = %3d m %6d
%0e > %3e n %6e
%0f ? %3f o %6f
%10 @ %40 p %70
%11 A %41 q %71
%12 B %42 r %72
%13 C %43 s %73
%14 D %44 t %74
%15 E %45 u %75
%16 F %46 v %76
%17 G %47 w %77
%18 H %48 x %78
%19 I %49 y %79
%1a J %4a z %7a
%1b K %4b { %7b
%1c L %4c | %7c
%1d M %4d } %7d
%1e N %4e ~ %7e
%1f O %4f %7f
space %20 P %50 %80
! %21 Q %51 %81
" %22 R %52 %82
# %23 S %53 ƒ %83
$ %24 T %54 %84
% %25 U %55 %85
& %26 V %56 %86
%27 W %57 %87
( %28 X %58 ˆ %88
) %29 Y %59 %89
* %2a Z %5a Š %8a
+ %2b [ %5b %8b
, %2c \ %5c Π%8c
- %2d ] %5d %8d
. %2e ^ %5e Ž %8e
/ %2f _ %5f %8f

URL 編碼 - 從 %90 到 %ff

ASCII Value URL-encode ASCII Value URL-encode ASCII Value URL-encode
%90 À %c0 ð %f0
%91 Á %c1 ñ %f1
%92 Â %c2 ò %f2
%93 Ã %c3 ó %f3
%94 Ä %c4 ô %f4
%95 Å %c5 õ %f5
%96 Æ %c6 ö %f6
%97 Ç %c7 ÷ %f7
˜ %98 È %c8 ø %f8
%99 É %c9 ù %f9
š %9a Ê %ca ú %fa
%9b Ë %cb û %fb
œ %9c Ì %cc ü %fc
%9d Í %cd ý %fd
ž %9e Î %ce þ %fe
Ÿ %9f Ï %cf ÿ %ff
%a0 Ð %d0
¡ %a1 Ñ %d1
¢ %a2 Ò %d2
£ %a3 Ó %d3
%a4 Ô %d4
¥ %a5 Õ %d5
| %a6 Ö %d6
§ %a7 %d7
¨ %a8 Ø %d8
© %a9 Ù %d9
ª %aa Ú %da
« %ab Û %db
¬ %ac Ü %dc
¯ %ad Ý %dd
® %ae Þ %de
¯ %af ß %df
° %b0 à %e0
± %b1 á %e1
² %b2 â %e2
³ %b3 ã %e3
´ %b4 ä %e4
µ %b5 å %e5
%b6 æ %e6
· %b7 ç %e7
¸ %b8 è %e8
¹ %b9 é %e9
º %ba ê %ea
» %bb ë %eb
¼ %bc ì %ec
½ %bd í %ed
¾ %be î %ee
¿ %bf ï %ef