使用Python Requests模块构建URL
可以用Python的Requests库来构建一个网址吗?
构建查询字符串是可以的,但构建网址的其他部分呢?我特别想知道怎么在基础网址上加上经过编码的字符串:
http :// some address.com/api/[term]/
term = 'This is a test'
变成:http :// some address.com/api/This+is+a+test/
这可能可以用urllib来实现,但我觉得用Requests会更好。这个功能存在吗?如果没有,是否有合理的原因不应该有这个功能?
1 个回答
61
requests
其实就是一个很方便的工具,它是在urllib
(还有其他相关库)基础上做的封装。
你可以从requests.compat
中导入urljoin()
和quote()
这两个函数,但实际上这和直接从urllib
和urlparse
模块中使用它们是一样的:
>>> from requests.compat import urljoin, quote_plus
>>> url = "http://some-address.com/api/"
>>> term = 'This is a test'
>>> urljoin(url, quote_plus(term))
'http://some-address.com/api/This+is+a+test'