爬虫知识零基础到入门-requests入门(二)

requests概述

在这里插入图片描述
前面的课程中我们了解了requests模块是一个网络请求模块,可以帮助我们模拟成客户端去请求服
务器的数据。我们今天就是主要针对这个模块进行学习。

我们可以在浏览器中抓取到这些请求与响应的内容,那么我们可以“伪造”请求吗?也就是不再通过
浏览器发送这些数据,而是通过Python来模拟浏览器发送请求。答案是可行的。而Requests模块就可
以完成这种功能。

Requests 模块就是 Python 实现的简单易用的 HTTP库
还有其他库吗? 回答也是肯定的,例如 urllib , urllib2 等模块。但是目前来说 Requests 模块是最流行的。而且也是做好用的模块。利用pip 可以非常方便的安装:

pip install requests

在这里插入图片描述

请求方法(Method)

HTTP请求可以使用多种请求方法,但是爬虫最主要就两种方法:GET和POST方法。

  1. get 请求:一般情况下,只从服务器获取数据下来,并不会对服务器资源产生任何影响的时候会 使用 get 请求。
  2. post请求:向服务器发送数据(登录)、上传文件等,会对服务器资源产生影响的时候会使用post 请求。

以上是在网站开发中常用的两种方法。并且一般情况下都会遵循使用的原则。但是有的网站和服务器
为了做反爬虫机制,也经常会不按常理出牌,有可能一个应该使用get 方法的请求就一定要改 成post 请求,这个要视情况而定。

GET与POST方法的区别:

  1. GET是从服务器上获取数据,POST是向服务器传送数据
  2. GET请求参数都显示在浏览器网址上,即“Get”请求的参数是URL的一部分。 例如: http://www.b
    aidu.com/s?wd=Chinese
  3. POST请求参数在请求体当中,消息长度没有限制而且以隐式的方式进行发送,通常用来向HTTP服务器提交量比较大的数据。请求的参数类型包含在“Content-Type”消息头里,指明发送请求时要提交的数据格式。

注意:

网站制作者一般不会使用Get方式提交表单,因为有可能会导致安全问题。 比如说在登陆表单中用
Get方式,用户输入的用户名和密码将在地址栏中暴露无遗。并且浏览器会记录历史信息,导致账号不安全的因素存在。

requests模块请求关键字

通过前面我们使用用requests模块已经知道,requests模块在发送网络请求的时候可以传递一些关
键字参数,如下图我们写过的案例所示:
在这里插入图片描述那么除了这两个关键字参数,requests模块在发送网络请求的时候还有哪些关键字参数呢?接下来我们通过查看源码的方式,介绍requests模块发送请求常用的关键字参数。如下所示:

“”"
method: 请求方法 get post
url: 请求网址
params: (可选的) 查询参数
headers: (可选的) 字典 请求头
cookies: (可选的) 字典.cookiejar对象, 用户身份信息
proxies: (可选的) ip代理
data: (可选的) 字典.列表.元组.bytes post请求时会用到
json: (可选的) 字典 提交参数
verify: (可选的) 是否验证证书, ca证书
timeout: (可选的) 设置响应时间,一旦超过,程序会报错
allow_redirects: (可选的) 是否允许重定向, 布尔类型数据
files: (可选的) 字典,文件
auth: (可选的) 字典,权限认证
stream: (可选的) 是否是数据流传输
“”"

提示:以上关键字参数排列顺序根据使用的频率进行排列。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

俾翻个牛B我

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值