如何使用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()