请问如何用 python 优雅的 解析 url

___L_e_e
  • 30

我想通过 urlparse 解析完 url 之后更改 query 的值,然后生成新的 url
但是我这么写的话,, 会报错,, 不知道有没有优雅又可行的办法

from urlparse import urlparse,urlunparse,parse_qs,parse_qsl

url_base = 'https://www.baidu.com?p=1&keywords=&category=7&state=1'

url_obj = urlparse(url_base)

query_obj = parse_qs(url_obj.query)

query_obj['p'] = ['2']

new_url = urlunparse(url_obj,query_obj)
回复
阅读 3.8k
2 个回答
f = furl('https://www.baidu.com?p=1&keywords=&category=7&state=1')

old_p = int(f.args['p'])

new_p = old_p + 1

f.args['p'] = new_p

print f.url
from urlparse import parse_qsl
from urllib import urlencode


url_base = 'https://www.baidu.com?p=1&keywords=&category=7&state=1'
url_obj = url_base.split('?')

query_obj = dict(parse_qsl(url_obj[1]))
query_obj['p'] = 2

print '{0}?{1}'.format(url_obj[0], urlencode(query_obj))
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏