Python 爬虫入门:Requests 库十个小案例实战
前言
网络爬虫(Web Crawler)是自动化抓取互联网信息的重要工具。在 Python 中,requests 库是最流行的 HTTP 客户端库之一,它简洁、高效且功能强大。本文将通过十个基础案例,带你掌握使用 requests 进行网页爬取的核心技能,包括安装配置、请求方法、参数传递、反爬处理及文件保存等。
环境准备
1. 安装 Requests 库
首先确保已安装 Python 环境。推荐使用国内镜像源加速下载。
Windows 用户: 打开命令提示符(CMD),建议以管理员身份运行以避免权限问题。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
Linux/Mac 用户:
类似 Windows,若遇到权限不足,请在命令前添加 sudo。
sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
2. 最佳实践建议
- 虚拟环境:建议在虚拟环境中开发,避免依赖冲突。
- User-Agent:模拟浏览器请求头,降低被服务器拦截的风险。
- 异常处理:网络请求不稳定,务必使用 try-except 捕获异常。
- 遵守协议:尊重目标网站的 robots.txt 协议,控制请求频率。
核心案例详解
案例 1:基础 GET 请求与页面获取
这是最基础的爬虫示例,用于获取百度首页并打印状态码和文本内容。
import requests
# 发起 GET 请求
response = requests.get("http://www.baidu.com")
# 自动识别编码格式,防止中文乱码
response.encoding = response.apparent_encoding
# 输出状态码和内容
print(f"状态码:{response.status_code}")
print(response.text)
说明:status_code 为 200 表示请求成功。apparent_encoding 能根据 HTML 内容自动推断编码,比硬编码更稳健。
案例 2:GET 方法访问特定接口
使用 httpbin.org 测试 GET 请求的返回结构。
import requests
response = requests.get("http://httpbin.org/get")
print(f"状态码:{response.status_code}")
(response.text)


