python爬虫04 Requests

接下来我们要来玩一个新的库

 

这个库的名称叫做

 

Requests

 

这个库比我们上次说的 urllib 可是要牛逼一丢丢的

 

毕竟 Requests 是在 urllib 的基础上搞出来的

 

通过它我们可以用更少的代码

 

模拟浏览器操作

kr

 

对于不是 python 的内置库

 

我们需要安装一下

 

直接使用 pip 安装

 

pip install requests

 

安装完后就可以使用了

 

接下来就来感受一下 requests 吧

 

导入 requests 模块

import requests
#一行代码get请求
#r=requests.get('https://api.github.com/events')
#r=requests.get('https://http://www.baidu.com')
r=requests.get('http://biihu.cc//account/ajax/login_process/')

#一行代码Post请求
r=requests.get("https://api.github.com/events",data={'key':'value'}
)
#其它乱七八槽的HTTP请求
r=requests.put('https://httphin.org/put',data={'key':'value'})
r=requests.delete('https://httpbin.org/delete')
r=requests.head('https://httpbin.org/get')
r=requests.options('https://httpbin.org/get')

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

url='https://api.github.com/some/endpoint'
headers={'user-agent':'my-app/0.0.1'}
r=requests.get(url,headers=headers)

#获取服务器响应文本内容
import requests
r=requests.get('https://api.github.com/events')
r.text
r.encoding

#获取字节响应内容
r.content

#获取响应码
r=requests.get('https://httpbin.org/get')
r.status_code

#获取响应头
r.headers

#获取Json响应内容
import requests
r=requests.get('https://api.github.com/events')
r.json()

#获取socket流响应内容
r=requests.get('https://api.github.com/events', stream=True)
r.raw

r.raw.read(10)

#Post请求,当你想要一个键里面添加多个值的时候
payload_tuples = [('key1', 'value1'), ('key1', 'value2')]
r1 = requests.post('https://httpbin.org/post', data=payload_tuples)
payload_dict = {'key1': ['value1', 'value2']}
r2 = requests.post('https://httpbin.org/post', data=payload_dict)
print(r1.text)
r1.text == r2.text

#请求的时候用json作为参数
url='https://api.github.com/some/endpoint'
payload={'some':'data'}
r=requests.post(url,json=payload)
r.text
#获取cookie信息
url='http://example.com/some/cookie/setting/url'
r=requests.get(url)
r.cookies['example_cookie_name']
#发送信息
url='https://httpbin.org/cookies'

cookies=dict(cookies_are='working')
r=requests.get(url,cookies=cookies)
r.text



#设置超时
requests.get('https://github.com/',timeout=0.001)



 

原文地址:https://www.cnblogs.com/hrnn/p/13306559.html