request对象_爬虫:request库的简介

d8ab0c5af2a8fc719f017329f3eae2fe.png

一、 request库的安装

在命令行输入pip install requests进行安装

a50087206ade67b4b8aeb582019eb8fd.png

随后进行调用,发现成功

二、 request库的最常用方法:get 方法

r= request.get(url)包括两个(对象)请求,其中一个为request请求,即向服务器请求资源的request对象,以及Response请求,即包含从服务器返回的所有资源

完整标准格式:request.get(url,params=None,**kwargs)

其中,url为获取页面的链接,params为额外参数,字典或者字节流格式,其为可选。**kwargs为12个控制访问的参数。

Response对象:

b172dbd8558518b09de124f968ee5ef1.png

访问百度主页,状态码为200,即表示正常。类型为response。也包括了我们请求的request信息。

4a890c01ed04c3e82c74977840529e14.png

可修改r.encoding的格式,而不使用其本身自定义的格式:

5a5abbe7d002e3f4169d17732af3bcee.png

如果header中不存在charset字段,则默认编码为ISO-8859—1,encoding并未分析内容,但是apparent_encoding分析了其中的内容。

三、 爬取网页的通用代码框架

00093fea442500b5a7b64baf1074b479.png

def getHTMLText(url):

try:

r=requests.get(url,timeout=30) #得到网页,设定时间

r.raise_for_status()#如果状态不是200,引发HTTPError异常

r.encoding=r.apparent_encoding#替代,使得返回网页的内容是正确的

return r.text

except;

return “产生异常”

ps. If __name__==”__main__”的含义

548828fe28d89bf0a1926f84aab32ac9.png

四、 HTTP 协议和request库的主要方法

Hypertext Transfer Protocol,超文本传输协议。

基于“请求和相应”模式的、无状态的应用层协议。

即用户发起请求,进行相应。无状态即表示第一次响应和第二次响应之间没有关系。

url为作为定位网络资源的标识,格式http://host[:post][path]

host为合法的主机域名或者ip地址

post端口号,path为路径。

185703601d0b9ceb44569ec39040a15f.png

abef6d6de6ade796da04b69aa41a5d2d.png

注:理解patch和put的区别:

假设url位置有一组数据,包括name、id等。

采用patch,仅向url提交name的局部更新申请(节省网络带宽)

采用put,必须将所有的20个字段一并提交到url,未提交字段将会被删除。

Head方法即为展示头部内容,用较少流量获取资源

Post,键值对默认存于表单。若提交data,则存于data。

五、 request主要方法解析

requests.request(method,url,**kwargs)

method即为包括get,head,post,put,patch,delete,options(获取和客户端打交道的参数)

**kwargs访问控制的参数,均为可选项。

1、Params:(修改)字典或字节序列,作为参数(键值对)增加到url中

acf693695569772d289c30af6a281092.png

2、Data:字典、字节序列或文件对象,作为request内容

存到链接下,并不是直接存到url里面

3、json 作为request内容

4、headers字典、HTTP定制头。头字段

c929f0188880a8ba3d952a1208f2a70f.png

模拟浏览器、

5、cookies 从HTTP解读字典格式

6、auth字段,元组类型,支持HTTP认证

7、files 字典类型,传输文件:

97d86166b83b77814e8cc57b4b9fbe47.png

向链接提交文件

8、timeout 时间内未返回产生timeout

9、proxies:字典类型,设定访问服务器,增加登录认证:

举例:

8631dc7be369a06f2eb65858da0b2dbf.png

即,使用第一行的用户名,以及第二行的IP地址进行访问

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值