Python 爬虫入门指南
1. 什么是网络爬虫
'爬虫'是一种形象的说法。互联网被比喻成一张巨大的网,而爬虫(Spider)是一个程序或脚本,在这张网上爬行。当遇到有用的资源(如网页、文件等)时,就将其获取或下载下来。通过资源中的 URL 链接,可以顺藤摸瓜继续爬取更多相关资源。
从本质上讲,爬虫模拟了用户正常上网的行为:打开网页并分析内容以提取所需信息。这一过程涉及 HTTP 传输协议等核心知识。
当我们打开一个网页时,实际上发生了以下交互:
- 浏览器向服务器发送请求(Request),告知需要访问的 URL。
- 服务器处理请求并返回响应(Response)。
- 浏览器解析响应结果展示给用户。
爬虫的核心逻辑就是模拟这个过程:构造请求发送到目标服务器,等待并接收响应数据。
2. HTTP 请求基础
HTTP 是 Web 通信的基础协议。在爬虫开发中,最常用的两种请求方式是 GET 和 POST。
GET 请求
GET 方式通常用于获取数据,参数直接附加在 URL 后面。例如搜索关键词会显示在网址中:https://www.baidu.com/s?wd=测试。
?后面的部分是查询参数。- 参数之间用
&连接。 - 键值对格式为
key=value。
POST 请求
POST 请求通常用于提交数据,参数放在请求体(Body)中,不会显示在 URL 上。适用于登录、表单提交等场景。
3. 使用 Requests 库发送请求
虽然 Python 标准库中有 urllib,但推荐使用第三方库 requests,它更简洁且功能强大。
安装命令:
pip install requests
GET 请求示例
import requests
url = 'http://www.baidu.com/s'
params = {
'wd': 'Python 爬虫',
'ie': 'utf-8'
}
response = requests.get(url, params=params)
print(response.status_code) # 状态码 200 表示成功
print(response.text) # 响应内容
POST 请求示例
import requests
url = 'http://example.com/login'
data = {
'username': 'user',
'password': 'pass'
}
response = requests.post(url, data=data)
print(response.text)


