擅长:python、mysql、java
<p>我会使用<code>urllib</code>,因为它为您处理这个问题。你知道吗</p>
<p>首先让我们把URL分解一下。你知道吗</p>
<pre><code>import urllib
u = urllib.parse.urlparse('https://google.com/?test=sadsad&again=tesss&dadasd=asdaas')
ParseResult(scheme='https', netloc='google.com', path='/', params='', query='test=sadsad&again=tesss&dadasd=asdaas', fragment='')
</code></pre>
<p>然后让我们隔离查询元素。你知道吗</p>
<pre><code>data = dict(urllib.parse.parse_qsl(u.query))
{'test': 'sadsad', 'again': 'tesss', 'dadasd': 'asdaas'}
</code></pre>
<p>现在让我们更新一些元素。你知道吗</p>
<pre><code>data.update({
'test': 'foo',
'again': 'fizz',
'dadasd': 'bar'})
</code></pre>
<p>现在我们应该把它编码回正确的格式。你知道吗</p>
<pre><code>encoded = urllib.parse.urlencode(data)
'test=foo&again=fizz&dadasd=bar'
</code></pre>
<p>最后让我们把整个网址重新组合起来。你知道吗</p>
<pre><code>new_parts = (u.scheme, u.netloc, u.path, u.params, encoded, u.fragment)
final_url = urllib.parse.urlunparse(new_parts)
'https://google.com/?test=foo&again=fizz&dadasd=bar'
</code></pre>