When a mutli-word search term is entered in ebay, the resultant URL looks something like (for example "demarini cf5 cf12"):
http://www.ebay.com/sch/i.html?_from=R40&_sacat=0&_nkw=demarini%20cf5%20cfc12
I wish to construct this URL in Python so it can be accessed directly. So it's case of concatenating the base URL:
http://www.ebay.com/sch/i.html?_from=R40&_sacat=0&_nkw=
... with the search term. Right now. I am adding the %20
for the spaces explicately thus:
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
What is a more formal way of doing this in Python? I believe the name for this sort of task is URL encoding?
urllib.quote()
. – Eupheemia+
sign. See Wikipedia and the HTML specification. As suchurllib.quote_plus()
should be used instead when encoding just one key or value, or useurllib.urlencode()
when you have a dictionary or sequence of key-value pairs. – Kandrakandy