一、新手学习爬虫第一课 对网站发起请求(基于python语言)

目录

前言

一、安装并引用请求模块requests

1.安装请求模块

2.引用requests请求模块

3.引用requests请求模块并使用别名

二、发起请求

1.对网站发起get请求(最常用的请求):

(1)第一种方法(字符串)

(2)第二种方法(变量)

(3)第三种方法(关键字传参)

2.对网站发起带参数的get请求:

3.对网站发起post请求:

4.对网站发JSON数据的post请求:

4.注意事项

总结


前言

爬虫的本质:通过程序模拟人的行为模拟浏览器发起网络请求,接收请求响应,按照一定的规则,自动爬取互联网信息的程序(也可以叫做脚本哈!)通过编写程序,让他模拟浏览器上网,然后在互联网中爬取数据的过程。

爬虫的作用:通过爬虫我们可以通过爬虫快速地获取大量的数据,从而加快信息的获取和处理的速度,方便人们进行各种研究和应用。(例如:获取无水印视频、照片等等小技巧~)

注意:本文章中均以Pycharm编译器为例。


一、安装并引用请求模块requests

1.安装请求模块

requests模块不是python标准库中的一部分,所以在使用前需要先安装它。

我们可以用 pip(Python 包管理工具)来进行安装,打开命令行界面(如下图所示),输入 pip install requests 执行以下命令:一、新手学习爬虫第一课 对网站发起请求(基于python语言)_第1张图片

代码如下:

pip install requests

2.引用requests请求模块

在网络爬虫开发中,请求模块是获取网页内容的基础工具。通过发送 HTTP 请求到目标网页的 URL,能获取到网页的 HTML、XML 等格式的源代码。

代码如下:

import requests

3.引用requests请求模块并使用别名

有时候,为了方便或者避免命名冲突,可以给导入的模块指定一个别名。

代码如下:

import requests as rqs

# 发送一个简单的GET请求,使用别名调用方法
response = rqs.get('https://www.example.com')
print(response.text)

二、发起请求

在 Python 中,使用requests库可以很方便地对网站发起请求。以下分别介绍发起常见的 GET 和 POST 请求的示例,以及请求过程中可能会涉及的一些参数设置。

1.对网站发起get请求(最常用的请求):

GET请求通常用于从服务器获取资源,比如获取网页的HTML内容,获取API返回的数据等。

(1)第一种方法(字符串)

import requests
#目标网站
url = 'https://www.baidu.com/' #想要爬取的目标网站的url(网址),这里以百度为例
#发起get请求
res = requests.get('https://www.baidu.com/') # res = 响应对象 
                                             # .get是即发起get请求
                                             # res是存储了请求获取到的参数

(2)第二种方法(变量)

res = requests.get(url) # url变量存储了百度网址

(3)第三种方法(关键字传参)

res = requests.get(url = u) # url是关键字 u是参数代表储存网址的变量

注意:参数名 = 参数值 参数名不能随便写 必须是get函数的形参名。

2.对网站发起带参数的get请求:

有时候,我们需要在 GET 请求中传递参数。可以通过params参数来实现。

import requests

url = 'https://www.baidu.com/api'
# 定义请求参数
params = {
    'key_1': 'value1',
    'key_2': 'value2'
}
res = requests.get(url, params=params)

在这个例子中,我们通过params参数传递了两个键值对作为请求参数,requests库会自动将这些参数添加到 URL 中。

3.对网站发起post请求:

POST 请求通常用于向服务器提交数据,比如提交表单数据、上传文件等。

import requests

url = 'https://www.baidu.com/api'
# 定义要提交的数据
data = {
    'username': 'user123',
    'password': 'pass123'
}
response = requests.post(url, data=data)

4.对网站发JSON数据的post请求:

在这里我们要引入json模块,才能够对网站提交json数据

import requests
import json

url = 'https://www.baidu.com/api'
# 定义要提交的 JSON 数据
data = {
    'name': 'SZX',
    'age': 100
}
# 发起 POST 请求,使用 json 参数传递 JSON 数据
response = requests.post(url, json=data)

在这个例子中,我们使用json参数传递了一个 Python 字典,requests库会自动将其转换为 JSON 格式并发送到服务器。

4.注意事项

设置请求头:有些网站可能会对请求头进行检查,你可以通过headers参数设置请求头,模拟浏览器行为。

import requests

url = 'https://www.baidu.com'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}

response = requests.get(url, headers=headers)

超时设置:可以通过timeout参数设置请求的超时时间,避免程序长时间等待无响应的请求。

response = requests.get(url, timeout=5)  # 超时时间设置为 5 秒

总结

本文章讲解了爬虫新手需要掌握的基础知识——对网站发起响应。

作者大大也是自学了一段时间的python爬虫知识,在此做出学习笔记分享给各位想要学习爬虫的小伙伴们,同时也虚心接受各位大佬们的指点,我会做出改正,谢谢各位。

你可能感兴趣的:(python自学,爬虫,学习,爬虫,python,开发语言,后端)