Requests请求库的使用

爬虫运行原理

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

  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。
在这里插入图片描述

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

猜你喜欢

转载自blog.csdn.net/ssslq/article/details/130739272
今日推荐