跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python算法

Python 爬虫入门基础与 Requests 库使用指南

Python 爬虫的基础概念、工作原理及核心实现步骤。内容涵盖浏览器与爬虫的区别、requests 库的安装与基本用法、Response 对象属性解析、请求头设置及异常处理。同时强调了 Robots 协议的重要性及爬取过程中的伦理规范,为初学者提供了完整的入门指导与实践建议。

嘘发布于 2025/2/7更新于 2026/7/2440 浏览
Python 爬虫入门基础与 Requests 库使用指南

1 兴趣引入

本文旨在帮助初学者理解网络爬虫的基本概念、工作原理及核心实现步骤。通过本教程,读者将掌握使用 Python 进行数据抓取的基础能力。

爬虫(Web Crawler),从本质上来说,就是利用程序在互联网上自动获取对我们有价值的数据的技术。

2 基本原理

2.1 浏览器工作原理

当用户访问网页时,浏览器的工作流程如下:

  1. 解析数据:服务器响应数据后,浏览器需将计算机语言编写的代码翻译成人类可读的内容;
  2. 提取数据:用户在页面上挑选出有用的信息;
  3. 存储数据:将挑选出的有用数据保存在本地文件或数据库中。

浏览器工作原理示意图

2.2 爬虫工作原理

爬虫模拟了浏览器的行为,其核心流程包括:

  1. 获取数据:根据提供的网址向服务器发起请求,接收返回的数据;
  2. 解析数据:将服务器返回的原始数据(如 HTML)解析成结构化的格式;
  3. 提取数据:从中筛选并提取出目标字段;
  4. 储存数据:将处理后的数据保存,便于后续分析或使用。

爬虫工作原理示意图

3 爬虫核心步骤

3.1 环境准备

3.1.1 安装 requests 库

requests 是 Python 中最流行的 HTTP 客户端库。安装方法如下:

  • Mac/Linux:在终端输入 pip3 install requests
  • Windows:在命令提示符(cmd)输入 pip install requests

提示:安装其他第三方库时通常遵循相同模式,即 pip install 模块名。

3.1.2 requests 库作用

该库可以帮我们下载网页源代码、文本、图片,甚至是音频和视频资源。其本质是向服务器发送请求并得到响应。

3.1.3 基础使用示例
import requests

# 发送 GET 请求
res = requests.get('https://www.example.com')

requests.get() 调用库中的 get() 方法,括号内的参数是目标网址。服务器响应结果赋值给变量 res。

requests 请求响应示意图

3.2 Response 对象的常用属性

请求成功后,返回的 Response 对象包含多个重要属性:

Response 对象属性示意图

3.2.1 response.status_code

打印响应状态码,用于检查请求是否成功。常见的状态码包括:

  • 200:请求成功
  • 404:资源未找到
  • 500:服务器内部错误
print(res.status_code)  # 输出 200

状态码检查示意图

3.2.2 response.content

以二进制数据形式返回内容,适用于图片、音频、视频的下载。

3.2.3 response.text

以字符串形式返回内容,适用于文字、网页源代码的下载。

3.2.4 response.encoding

定义 Response 对象的编码方式。遇到乱码问题时,可手动设置编码。

res.encoding = 'utf-8'

3.3 进阶实践

3.3.1 设置请求头

许多网站会检测 User-Agent,伪装成浏览器以避免被拦截。

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
}
res = requests.get('https://www.example.com', headers=headers)
3.3.2 异常处理

网络请求可能因超时或连接失败而中断,应添加异常捕获机制。

try:
    res = requests.get('https://www.example.com', timeout=5)
    res.raise_for_status()
except Exception as e:
    print(f"请求失败:{e}")
3.3.3 数据解析

获取源码后,通常需要使用解析库提取数据。例如使用 BeautifulSoup 或正则表达式。

from bs4 import BeautifulSoup

soup = BeautifulSoup(res.text, 'html.parser')
title = soup.find('h1').text
print(title)

4 爬虫伦理与规范

4.1 Robots 协议

Robots 协议是互联网爬虫的一项公认道德规范,全称'网络爬虫排除标准'(Robots exclusion protocol)。它用来告诉爬虫哪些页面是可以抓取的,哪些不可以。

4.2 协议查看

  1. 在网站的域名后加上 /robots.txt 即可查看。例如:https://www.taobao.com/robots.txt
  2. 协议里最常出现的英文指令是 Allow 和 Disallow。
    • Allow:代表可以被访问
    • Disallow:代表禁止被访问

4.3 爬取建议

  • 控制频率:避免在短时间内发送过多请求,防止对目标服务器造成压力。
  • 遵守规则:尊重 robots.txt 协议,不抓取受保护的数据。
  • 合法合规:确保数据采集用途符合法律法规,不侵犯个人隐私或商业机密。

5 总结

学习 Python 爬虫需要掌握 HTTP 协议基础、Requests 库的使用以及数据解析技巧。除了技术实现外,还需严格遵守网络伦理和法律规范。通过不断实践,可以逐步构建起高效、稳定的数据采集系统。

目录

  1. 1 兴趣引入
  2. 2 基本原理
  3. 2.1 浏览器工作原理
  4. 2.2 爬虫工作原理
  5. 3 爬虫核心步骤
  6. 3.1 环境准备
  7. 3.1.1 安装 requests 库
  8. 3.1.2 requests 库作用
  9. 3.1.3 基础使用示例
  10. 发送 GET 请求
  11. 3.2 Response 对象的常用属性
  12. 3.2.1 response.status_code
  13. 3.2.2 response.content
  14. 3.2.3 response.text
  15. 3.2.4 response.encoding
  16. 3.3 进阶实践
  17. 3.3.1 设置请求头
  18. 3.3.2 异常处理
  19. 3.3.3 数据解析
  20. 4 爬虫伦理与规范
  21. 4.1 Robots 协议
  22. 4.2 协议查看
  23. 4.3 爬取建议
  24. 5 总结
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 无水印保存豆包 AI 视频及图片的方法
  • 用 DeepSeek 从零搭一个贪吃蛇游戏:从单机到联机的完整过程
  • 亚洲艺术电影节携澳门文化亮相深圳
  • SpringBoot 整合 LangChain4j 与 Tavily 实现联网搜索及 API Key 获取指南
  • 基于 Hunyuan-MT-7B-WEBUI 快速搭建多语言翻译系统
  • DeepSeek-R1-Distill-Llama-8B 优化技巧:提升文本生成质量
  • 基于开源鸿蒙(OpenHarmony)的【智能家居综合应用】系统
  • 前端技术演进趋势与百道场景化面试题精选
  • Java transient 关键字详解与 Flink State 实践
  • AI 时代的前端:不再切图,转向智能交互架构
  • AI 绘画提示词引导系数设置指南:从原理到实践
  • ClawPanel v4.4.0 发布:AI 智能助手与模型兼容性修复
  • Java 反射详解
  • 企业构建行业大模型的策略与实施路径
  • OpenClaw 生态 16 款 AI Agent 选型指南
  • VS Code 远程连接服务器后 Github Copilot 无法使用
  • Python 核心数据结构:集合与冻结集合
  • JavaScript 集合 (Set、WeakSet) 与映射 (Map、WeakMap)
  • 基于 Nexent 平台搭建育儿问答智能体实战
  • AG-UI:构建 AI 前端交互的统一协议

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online