Python Requests 学习手册

python requests 学习手册

安装与使用

Requests学习手册

安装

pip install requests

pypi源速度过慢的情况下,可以考虑切换至国内源百度一下解决方案
例子:使用清华源

sudo -H pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple/ –trusted-host pypi.tuna.tsinghua.edu.cn

发送请求

  • GET 请求

    1
    >>> r = requests.post("http://httpbin.org/get")
  • POST请求

    1
    >>> r = requests.post("http://httpbin.org/post")

传递URL参数

手工构建 URL,那么数据会以键/值对的形式置于 URL 中,跟在一个问号的后面。例如, httpbin.org/get?key1=val1&key2=val2。Requests 允许你使用 params 关键字参数,以一个字典来提供这些参数

1
2
3
4
>>> params = {'key1': 'value1', 'key2': 'value2'}
>>> r = requests.get("http://httpbin.org/get", params=params)
>>> print(r.url)
http://httpbin.org/get?key1=value1&key2=value2

请求内容

1
2
3
4
5
6
7
8
9
10
11
12
13
>>> r = requests.get("http://httpbin.org/get")
>>> print r.text
{
"args": {},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.11.1"
},
"origin": "101.81.27.60",
"url": "http://httpbin.org/get"
}

Requests 会自动解码来自服务器的内容。大多数 unicode 字符集都能被无缝地解码。
请求发出后,Requests 会基于 HTTP 头部对响应的编码作出有根据的推测。当你访问 r.text 之时,Requests 会使用其推测的文本编码。你可以找出 Requests 使用了什么编码,并且能够使用 r.encoding 属性来改变它:

1
2
>>> r.encoding
>>> r.encoding = "utf-8"
坚持原创技术分享,您的支持将鼓励我继续创作!