[英]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.