如何使用Python正式插入URLspace(%20)?
How to formally insert URL space (%20) using Python?
当在 ebay 中输入多词搜索词时,结果 URL 看起来像(例如 "demarini cf5 cf12"):
http://www.ebay.com/sch/i.html?_from=R40&_sacat=0&_nkw=demarini%20cf5%20cfc12
我希望在 Python 中构造这个 URL 以便可以直接访问它。所以这是连接基数 URL:
的情况
http://www.ebay.com/sch/i.html?_from=R40&_sacat=0&_nkw=
...与搜索词。现在。因此,我明确地为空格添加了 %20
:
baseUrl = 'http://www.ebay.com/sch/i.html?_from=R40&_sacat=0&_nkw='
searchTerm = 'demarini cf5 cf12'
searchTerm = ('%20').join(searchTerm.split(' '))
finalUrl = baseUrl + searchTerm
在 Python 中更正式的方法是什么?我相信这类任务的名称是 URL encoding?
使用urllib
库
import urllib
finalurl = baseUrl + urllib.parse.quote(searchterm)
您可以使用 quote_plus() 添加 + 而不是 %20
撤消此使用
urllib.parse.unquote(str)
在Python2中,分别使用urllib.quote()
和urllib.unquote()
当在 ebay 中输入多词搜索词时,结果 URL 看起来像(例如 "demarini cf5 cf12"):
http://www.ebay.com/sch/i.html?_from=R40&_sacat=0&_nkw=demarini%20cf5%20cfc12
我希望在 Python 中构造这个 URL 以便可以直接访问它。所以这是连接基数 URL:
的情况http://www.ebay.com/sch/i.html?_from=R40&_sacat=0&_nkw=
...与搜索词。现在。因此,我明确地为空格添加了 %20
:
baseUrl = 'http://www.ebay.com/sch/i.html?_from=R40&_sacat=0&_nkw='
searchTerm = 'demarini cf5 cf12'
searchTerm = ('%20').join(searchTerm.split(' '))
finalUrl = baseUrl + searchTerm
在 Python 中更正式的方法是什么?我相信这类任务的名称是 URL encoding?
使用urllib
库
import urllib
finalurl = baseUrl + urllib.parse.quote(searchterm)
您可以使用 quote_plus() 添加 + 而不是 %20 撤消此使用
urllib.parse.unquote(str)
在Python2中,分别使用urllib.quote()
和urllib.unquote()