网络爬虫是通过编程自动获取网页信息的技术。简单来说,当你查看网页源代码时看到的 HTML 结构,就是爬虫工作的对象。它像一位不知疲倦的助手,帮你阅读并提取网页内容。
本文将带你从零开始编写 Python 爬虫,即使是编程新手也能理解核心逻辑。
爬虫的基本流程
一个完整的爬虫通常包含三个步骤:
- 发送请求:向目标网页发起 HTTP 请求,获取原始内容。
- 解析网页:从返回的 HTML 或 JSON 中提取关键信息。
- 保存数据:将提取到的数据写入文件或数据库,便于后续分析。
常用爬虫库
Python 生态中有两个非常实用的库:
- requests:负责发送网络请求,获取网页源码。
- BeautifulSoup:用于解析 HTML,快速定位和提取所需数据。
安装依赖
在命令行中执行以下命令即可安装(推荐使用国内镜像加速):
pip install requests beautifulsoup4 -i https://pypi.tuna.tsinghua.edu.cn/simple
简单爬虫示例
我们以抓取百度首页为例,逐步实现数据获取。
1. 获取网页内容
首先使用 requests 获取页面源码。
import requests
url = 'https://www.baidu.com'
response = requests.get(url)
print(response.text)
这里 requests.get(url) 会向指定网址发送 GET 请求,response.text 则返回页面的 HTML 源码。运行后你会看到大量标签代码,这就是百度的页面结构。
2. 解析网页内容
拿到源码后,用 BeautifulSoup 来清洗数据。我们尝试提取页面标题。
from bs4 import BeautifulSoup
soup = BeautifulSoup(response.text, 'html.parser')
title = soup.title.text
print('网页标题:', title)
BeautifulSoup(response.text, 'html.parser') 初始化解析器,soup.title.text 直接定位到 <title> 标签内的文本。
控制台输出类似:
网页标题:百度一下,你就知道
3. 提取更多信息
除了标题,我们还可以批量抓取页面上的所有链接。
links = soup.find_all('a')
for link in links:
href = link.get('href')
print(href)


