requests库(get丨post)

发送get请求

发送get请求,直接调用requests.get就可以了,想要发送什么类型的请求,就调用什么方法。

python
resqupnse = requests.get('[https://www.baidu.com'](https://www.baidu.com'))
requests的属性
   'wd':'中国'}

 headers = {
User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.6788.400 QQBrowser/10.3.2767.400'}
 params 接收一个支点或者字符串的查询参数,字典类型自动转换成url编码,不需要urlencode()
   response = requests.get("[https://www.baidu.com/s](https://www.baidu.com/s)",params=params,headers=headers)

查看响应内容。requests.text 返回的是unicode格式的数据

print(response.text)

查看相应内容。response.content返回的直接流数据

print(response.content)

查看完整的URL地址

print(response.ur)

查看相应头部字符编码

print(response.encoding)

查看响应码

print(response.status_code)

response.text和response.content的区别

  1. response.content:这个是直接从网络上面抓取的数据,没有经过任何解码,所以是一个bytes类型。其实在硬盘上和在网络上传输的字符都是byses的类型
  2. response.text:这个是str的数据类型,是requests库这个是requests,将response,content进行解码的字符串,解码需要制定一个编码方式,request会根据自己的猜测来判断编码的方式,所以有时候可能会猜测错误,就会导致解码产生乱码,这时候就应该使用response.conten.decode('utf-8')进行手动解码。

发送POST请求:

*   发送post请求非常简单,直接调用`[requests.post](http://requests.post)`方法就可以
*   如果返回的是json数据,那么可以调用`response.json`
*   来换json字符串转换为字典或者列表

你可能感兴趣的:(requests库(get丨post))