python爬虫---requests

Requests 是一个 Python 的 HTTP 客户端库。模拟网络请求非常推荐Requests,简单易用。

1、发送请求

Requests 发送网络请求;
1)导入 Requests 模块
import requests
2)获取某个网页
r = requests.get(‘https://github.com/timeline.json‘),其中 r 的 Response 对象;
通过requests可以发送任何http请求:

  r = requests.post("http://httpbin.org/post");
  r = requests.put("http://httpbin.org/put")
  r = requests.delete("http://httpbin.org/delete")
  r = requests.head("http://httpbin.org/get")
  r = requests.options("http://httpbin.org/get")

2、传递URL参数

URL 的查询字符串:以键/值对的形式置于 URL 中,跟在一个问号的后面,比如:httpbin.org/get?key=val。
Requests 允许你使用 params 关键字参数,以一个字典来提供这些参数;

payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.get("http://httpbin.org/get", params=payload)

print(r.url):
//结果URL 已被正确编码:http://httpbin.org/get?key2=value2&key1=value1

注意:字典里值为 None 的键都不会被添加到 URL 的查询字符串里。

还可以将一个列表作为值传入:

payload = {'key1': 'value1', 'key2': ['value2', 'value3']}
r = requests.get('http://httpbin.org/get', params=payload)
print(r.url)
//结果:http://httpbin.org/get?key1=value1&key2=value2&key2=value3

3、响应内容

从r中读取服务器响应的内容,存储了服务器响应的内容;
二进制响应请求:字节的方式访问请求响应体
r.content

JSON响应内容:Requests 中也有一个内置的 JSON 解码器,助你处理 JSON 数据;
r.json()

其他响应:

r.status_code #响应状态码
r.raw #返回原始响应体,也就是 urllib 的 response 对象,使用 r.raw.read() 读取
r.content #字节方式的响应体,会自动为你解码 gzip 和 deflate 压缩
r.text #字符串方式的响应体,会自动根据响应头部的字符编码进行解码
r.headers #以字典对象存储服务器响应头,但是这个字典比较特殊,字典键不区分大小写,若键不存在则返回None
#*特殊方法*#
r.json() #Requests中内置的JSON解码器
r.raise_for_status() #失败请求(非200响应)抛出异常

4、定制请求头

为请求添加 HTTP 头部:通过headers 参数;

url = 'https://api.github.com/some/endpoint'
headers = {'user-agent': 'my-app/0.0.1'}

r = requests.get(url, headers=headers)

5、身份验证

from requests.auth import HTTPBasicAuth
r = requests.get('https://httpbin.org/hidden-basic-auth/user/passwd', auth=HTTPBasicAuth('user', 'passwd'))

参考:http://cn.python-requests.org/zh_CN/latest/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值