我知道如果我想发送HTTP请求,我可以在发送之前将其形成为字典:
payload = dict(
username="something",
password="something_else"
)
r = requests.get('http://example.com', params=payload)
它是否也反过来了?如果我的请求恰好将我重定向到另一个URL,我可以看到我被重定向到的位置:
print r.url
但是,如果该URL恰好是:
http://example.com/somepage.htm?varone=test&vartwo=3451&varthree=something
我碰巧想要从该URL(字符串3451)中取出vartwo,请求模块是否通过指定我想要“vartwo”的值来提供任何简单的方法来执行此操作?另一种字典,或某种某种映射对象?或者我唯一的选择是使用urllib.unquote来解码网址,并将其解析为字符串?
答案 0 :(得分:1)
使用urlparse module(Python 2.x;在Python 3.x中,它已重命名为urllib.parse)。
from urlparse import urlparse
url = 'http://www.gurlge.com:80/path/file.html;params?a=1#fragment'
o = urlparse(url)
print o.params