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

Python 爬虫入门教程:从零开始学习网页抓取

介绍 Python 网络爬虫的基础知识与应用场景,涵盖环境配置、requests 与 BeautifulSoup 库的使用,以及编写第一个获取网页标题的爬虫脚本。内容包含核心组件详解、HTTP 请求方法、HTML 解析技巧,并强调了爬虫道德与法律规范,如遵守 robots.txt 协议及限制请求频率。适合初学者入门学习。

晚风告白发布于 2026/3/22更新于 2026/7/910K 浏览
Python 爬虫入门教程:从零开始学习网页抓取

一、爬虫基础概念

什么是爬虫?

网络爬虫(Web Crawler)是一种自动获取网页内容的程序,它像蜘蛛一样在互联网上'爬行',收集和提取数据。

爬虫应用场景

  1. 搜索引擎(Google、百度)
  2. 价格监控(电商比价)
  3. 舆情分析(社交媒体监控)
  4. 数据采集(研究、分析)

二、环境准备

1. 安装 Python

  • 官网下载:Download Python | Python.org
  • 安装时勾选'Add Python to PATH'

2. 安装必要库(命令行执行)

pip install requests beautifulsoup4 pandas

3. 安装开发工具(可选)

推荐使用 VS Code:Visual Studio Code - Code Editing. Redefined

三、第一个爬虫:获取网页标题

1. 创建文件 first_crawler.py

import requests
from bs4 import BeautifulSoup

# 目标网址
url = "https://example.com"
# 发送 HTTP 请求
response = requests.get(url)
# 检查请求是否成功
if response.status_code == 200:
    # 解析 HTML 内容
    soup = BeautifulSoup(response.text, 'html.parser')
    # 提取网页标题
    title = soup.title.string
    print(f"网页标题:{title}")
else:
    print(f"请求失败,状态码:{response.status_code}")

2. 运行爬虫

python first_crawler.py

输出结果

网页标题:Example Domain

四、爬虫核心组件详解

1. requests 库 - 发送 HTTP 请求

# GET 请求
response = requests.get(url)
# POST 请求
response = requests.post(url, data={'key': 'value'})
# 添加请求头(模拟浏览器)
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}
response = requests.get(url, headers=headers)

2. BeautifulSoup - 解析 HTML

from bs4 import BeautifulSoup

# 创建解析器对象
soup = BeautifulSoup(html_content, 'html.parser')

# 查找元素
# 通过标签名
soup.find('div')      # 查找第一个 div
soup.find_all('a')    # 查找所有 a 标签

# 通过类名
soup.find(class_='header')

# 通过 ID
soup.find(id='main-content')

# 组合查找
soup.find('div', class_='article')

五、爬虫道德与法律

爬虫行为准则

  1. 尊重 robots.txt:检查目标网站的爬虫协议
  2. 限制请求频率:避免对网站造成过大负担
  3. 不爬取敏感信息:如个人隐私、版权内容
  4. 遵守网站条款:查看网站的使用条款

如何检查 robots.txt

在网站根目录后添加 /robots.txt,例如: https://example.com/robots.txt

目录

  1. 一、爬虫基础概念
  2. 什么是爬虫?
  3. 爬虫应用场景
  4. 二、环境准备
  5. 1. 安装 Python
  6. 2. 安装必要库(命令行执行)
  7. 3. 安装开发工具(可选)
  8. 三、第一个爬虫:获取网页标题
  9. 1. 创建文件 first_crawler.py
  10. 目标网址
  11. 发送 HTTP 请求
  12. 检查请求是否成功
  13. 2. 运行爬虫
  14. 输出结果
  15. 四、爬虫核心组件详解
  16. 1. requests 库 - 发送 HTTP 请求
  17. GET 请求
  18. POST 请求
  19. 添加请求头(模拟浏览器)
  20. 2. BeautifulSoup - 解析 HTML
  21. 创建解析器对象
  22. 查找元素
  23. 通过标签名
  24. 通过类名
  25. 通过 ID
  26. 组合查找
  27. 五、爬虫道德与法律
  28. 爬虫行为准则
  29. 如何检查 robots.txt
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • Python 爬虫技术实战指南:从入门到分布式采集
  • 基于 Prophet 的家庭用电数据时间序列预测分析
  • Python 机器学习数据预处理:五种常用方法案例详解
  • Python 基础语法详解
  • Flutter 三方库 ml_algo 在鸿蒙系统下的端侧计算适配与重构指南
  • 数据结构:哈希表原理与冲突解决
  • 飞算 JavaAI 实战测评:重塑 Java 开发工作流
  • OpenClaw 智能体生态与移动端应用解析
  • Superset 报表与看板权限详解
  • 基于 Django 框架搭建 WebApi 项目实战
  • VSCode 扩展 Copilot MCP 使用教程
  • Linux 线程与进程的核心概念解析
  • Rust 异步并发安全与内存管理最佳实践
  • 基于 Go 语言的命令行 AI 对话客户端开发实战
  • 大模型时代,新手与程序员如何转型入局 AI 行业
  • WebGIS 开发中 WKT 转 GeoJSON 的技巧与 Leaflet 集成
  • RAG 优化方案与实践详解
  • 生成式大模型安全评估白皮书:核心观点与技术框架解析
  • Java I/O 操作详解
  • C++ 多态底层实现原理与内存布局解析

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如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