Requests请求库的使用

文章介绍了爬虫的基本工作原理,包括发起HTTP请求、接收响应、解析页面和提取数据。重点讲解了Requests库在Python中的使用,包括GET和POST请求的发送,以及如何处理响应状态码和网页内容。同时提到了安装环境和简单的代码示例。
摘要由CSDN通过智能技术生成

爬虫运行原理

首先回顾一下爬虫运作的基本原理(下面是比较正式的书面语):
爬虫是一种自动化程序,用于从互联网上获取信息,

  1. 发起请求:爬虫首先需要发起一个HTTP请求,向目标网站请求页面的内容。这个请求可以包含特定的参数、头部信息和身份验证等。
  2. 接收响应:目标网站接收到请求后,会返回一个HTTP响应。响应中包含了页面的内容和其他相关信息,比如状态码、头部信息等。
  3. 解析页面:爬虫接收到响应后,需要对页面进行解析,以提取所需的数据。常用的解析方法包括正则表达式、XPath、CSS选择器等。
  4. 提取数据:通过解析页面,爬虫可以提取出需要的数据。这些数据可以是文本、图片、链接等各种形式的信息。
  5. 存储数据:爬虫将提取到的数据存储到本地文件或数据库中,以备后续处理和分析使用。
  6. 处理下一页:在爬取单个页面的数据之后,爬虫可能需要处理下一页的数据。这通常涉及到翻页操作,可以通过模拟用户点击或修改URL参数等方式来获取下一页的内容。
  7. 重复操作:爬虫可以根据需要循环执行上述步骤,以获取更多的数据或不同页面的信息。

但是对于我们简单而言,就是我们看到的几乎都是图形化界面,但是爬虫可以返回页面对应的参数,这一部分是用代码进行表示,我们明面上看不到,比如状态码,页面携带的Cookie等等。爬虫模拟了我们用户去访问网页的这一过程。
在这里插入图片描述

Requests请求库

要访问网页,我们还需要相应的工具——Requests请求库。
Requests请求库是一个HTTP的请求库,我们可以通过这个Requests请求库对网站发起一个请求。

安装环境

在Pycharm里面进行库的安装,如果安装不成功,可以去找国内的镜像源,那样安装会比较顺利。
在这里插入图片描述

Requests库的使用

打开pycharm,新建文件,然后输入import requests,查看是否有报错:
在这里插入图片描述
接下来对Requests的简单语法进行一个了解:

在Python中,requests是一个流行的第三方库,用于发送HTTP请求。它提供了简单且人性化的接口,使得发送HTTP请求变得非常容易。以下是requests库的一些常见用法和语法:

  1. 发送GET请求:
import requests

response = requests.get(url)

其中,url是你要发送请求的目标URL。requests.get()方法会发送一个GET请求到指定的URL,并返回一个Response对象。

  1. 发送带参数的GET请求:
import requests

payload = {'key1': 'value1', 'key2': 'value2'}
response = requests.get(url, params=payload)

在上面的例子中,payload是一个包含参数的字典。requests.get()方法的params参数允许你将这些参数添加到请求的URL中。

因为GET请求的内容在链接中都看得到,举个例子,这里的payload指的就是:
在这里插入图片描述

  1. 发送POST请求:
import requests

payload = {'key1': 'value1', 'key2': 'value2'}
response = requests.post(url, data=payload)

在这个例子中,payload是一个包含要发送的数据的字典。requests.post()方法将发送一个POST请求到指定的URL,并将payload作为请求的数据。这里与GET请求不同,这些参数在明面的链接中是看不到的。

  1. 处理响应:
import requests

response = requests.get(url)
print(response.status_code)  # 打印状态码
print(response.text)  # 打印响应内容

response.status_code是响应的状态码,用于判断请求是否成功。response.text是响应的内容,可以使用它来获取服务器返回的数据。

状态码

以百度为例:
在这里插入图片描述
这里是要访问的URL。
在这里插入图片描述
这里使用print(response.status_code)与print(response)结果一致。

查看返回结果:
在这里插入图片描述
返回码200,代表我们可以正常进行访问。

网页内容

接下来再对网页的内容进行获取,还是以百度为例:
这里使用response.text进行输出,可以看到页面的内容都输出出来了,但是还有部分是乱码的状态。从代码可以发现,网页的原始编码是使用的utf-8,所以我们保持与网页原始编码一致,也改成utf-8。
在这里插入图片描述

在这里插入图片描述
这个时候页面的内容就可以正常进行显示了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小刘不忙!

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

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

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

打赏作者

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

抵扣说明:

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

余额充值