假设我有一个 URL 如下:
http://sitename.com/pathname?title=moviename&url=VIDEO_URL
我想解析这个 URL 来单独获取 title 部分和 url 部分。
我尝试了以下,
from urlparse import urlparse
q = urlparse('http://sitename.com/pathname?title=moviename&url=VIDEO_URL')
执行此操作后,我得到以下结果,
q
ParseResult(scheme='http', netloc='sitename.com', path='/pathname', params='', query='title=moviename&url=VIDEO_URL', fragment='')
和q.query有,
'title=moviename&url=VIDEO_URL'
我无法在此处使用 q.query.title 或 q.query.url。有什么办法可以访问它吗?我想将 url 和 title 部分分别拆分为单独的列。我们可以这样做吗,或者我们可以编写一个子字符串方法来检查是否以“title”开头并以“&”结尾并将其拆分?
谢谢
请您参考如下方法:
你可以在这里使用urlparse.parse_qs来制作一个参数字典。
from urlparse import urlparse, parse_qs
q = urlparse('http://sitename.com/pathname?title=moviename&url=VIDEO_URL')
qs = parse_qs(q.query)
print qs["title"] # moviename
print qs["url"] # VIDEO_URL
这是解析 URL 参数的最可靠方法:比 split 好得多。
