簡體   English   中英

使用python轉義帶有特殊字符的查詢字符串

[英]escaping query string with special characters with python

我在這里通過抓取得到了一些非常凌亂的網址,問題是它們在路徑和查詢字符串中包含空格或其他特殊字符,這是一些示例

http://www.example.com/some path/to the/file.html
http://www.example.com/some path/?file=path to/file name.png&name=name.me

因此,是否有一種簡單而強大的方法來轉義網址,以便我可以將其傳遞給urlopen? 我嘗試了urlib.quote,但是它似乎也對查詢字符串中的'?','&'和'='進行了轉義,並且似乎也對協議進行了轉義,目前,我正在嘗試做的是使用正則表達式分隔協議,路徑名和查詢字符串,然后分別轉義它們,但是在某些情況下,它們不能正確分隔任何建議,

urllib.quote將默認引用除/以外的所有內容。 您可以傳遞一個字符列表作為第二個參數:

urllib.quote('http://www.example.com/some path/?file=path to/file name.png&name=name.me',
             '/:?&=')
'http://www.example.com/some%20path/?file=path%20to/file%20name.png&name=name.me'

但這是半手工搞砸的棘手東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM