本文介绍第三方库requests的使用
1.常用方法
方法 | 描述 |
requests.request(url) | 构造一个请求,支持下面各种方法 |
requests.get() | 发送Get请求 |
requests.post() | 发送Post请求 |
requests.head() | 获取HTML头部信息 |
requests.put() | 发送Put请求 |
requests.patch() | 提交局部修改的请求 |
requests.delete() | 提交删除请求 |
2.语法结构
requests.get(url,params=None)
url:需要爬取的网站网址
params:请求参数
该方法的结果为response对象,包含服务器的响应信息。
3.response对象的常用属性
属性或方法 | 描述 |
response.status_code | 响应状态码 |
response.content | 把response对象转换为二进制数 |
response.text | 把response对象转换为字符串数据 |
response.encoding | 定义response对象的编码 |
response.cookies | 获取请求后的cookie |
response.url | 获取请求网址 |
response.json() | 内置的JSON解码器 |
response.headers | 以字典对象存储服务器响应头,字典键不区分大小写 |
4.不带参数的get请求
import requests
url = 'http://www.baidu.com'
resp = requests.get(url)
resp.encoding = 'utf-8'
cookie = resp.cookies
headers = resp.headers
print('响应状态码:',resp.status_code)
print('请求后的cookie:',cookie)
print('获取请求的网址:',resp.url)
print('响应头:',headers)
print('响应内容:',resp.text)
5.带参数的get请求
import requests
url = 'https://ww.so.com/s'
params = {'q':'python'}
resp = requests.get(url,params = params)
resp.encoding = 'utf-8'
print(resp.text)
6.发送post请求
语法结构:requests.post(url,data=None,json=None)
url:需要爬取的网站网址
data:请求数据
json:json格式的数据
import requests
url = 'https://www.xslon.com/login.pip'
#输入账号和密码
data = {'username':'18400000000','password':'123456','action':'login'}
resp = requests.post(url,data = data)
resp.encoding = 'gb2312'
print(resp.status_code)
print(resp.text)