python爬虫之requests 模块基础

requests模块基础

requests模块是python第三方模块,需要进行安装后才能够进行使用,主要功能为发起http请求,为爬虫中常用的模块。

安装命令

pip install requests

请求举例。

from requests import *  //导入requests 模块

resp = get("http://www.baidu.com")  //发起最简单的http GET请求。  

header = {   
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0",
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
    "Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
    "Accept-Encoding": "gzip, deflate",
}    //设置http请求头,避免被识别为爬虫,封掉ip地址

payload = {"key":"value",}  //设置请求参数,在GET请求中也可以直接拼接到url中。

cookie = {'key':'value',} //设置cookie

resp = get(url="https://www.baidu.com", headers=header,params=payload,cookies=cookie,verify=Fales,timeout=5) //完成的一次请求。
//verify=False 处理证书验证失败,请求抛出SSLError的情况,错误信息为 requests.exceptions.SSLError: xxx  

POST发送请求

resp = post(url="http://www.baidu.com", data=payload) //参数使用data传递
resp = post(url="http://www.baidu.com", data=json.dumps(payload))//传递json时可以使用json模块的json.dumps()转译成json格式
resp = post(url="http://www.baidu.com", json=payload //这种格式来确定。

requests模块支持发送GET,POST,PUT,DELETE等各种http请求,整体而言请求格式大同小异,整体相同。

POST请求时Content-type的内容,除了特殊情况外,其实在实际操作中也并不会有多大影响。

application/x-www-form-urlencoded //最常见post提交数据的方式,以form表单形式提交数据

application/json  //以json串提交数据。

multipart/form-data //一般使用来上传文件

响应内容

resp.content //二进制格式的内容主题,可以使用resp.content.decode("UTF-8"),不容易出现乱码。

resp.text //返回内容主题

resp.status_code //返回的状态码

resp.encoding  //返回的编码格式,

resp.url //请求的url,若存在跳转,则url是跳转后的url的值。  

resp.headers //返回的响应头信息。

参考链接

https://developer.aliyun.com/article/364819
https://www.cnblogs.com/ranxf/p/7808537.html

猜你喜欢

转载自blog.csdn.net/qingzhantianxia/article/details/113865832