爬虫是指通过编程自动从网页上获取信息的技术。简单来说,当你打开网页查看源代码时,那些 HTML 结构就是爬虫的目标。它就像一位不知疲倦的机器人,帮你阅读并提取这些内容。
本文将详细讲解如何从零开始编写一个 Python 爬虫,即使是没接触过编程的朋友也能理解核心逻辑。
一、爬虫的基本流程
整个流程其实很直观,主要分三步走:
- 发送请求:向目标网页发起 HTTP 请求,拿到原始内容。
- 解析网页:从返回的 HTML 或 JSON 中提取你需要的数据。
- 保存数据:将提取到的信息写入文件或数据库,方便后续分析。
二、常用爬虫库
在 Python 生态中,有两个库是入门首选:
- requests:负责发送网络请求,获取网页源码。
- BeautifulSoup:负责解析 HTML,像手术刀一样精准提取数据。
安装依赖
在命令行执行以下命令即可(推荐使用国内镜像加速):
pip install requests beautifulsoup4 -i https://pypi.tuna.tsinghua.edu.cn/simple
三、简单爬虫示例
接下来我们动手写一个最简单的爬虫,以抓取百度首页为例。
1. 获取网页内容
首先使用 requests 库获取页面源码。这里要注意,直接打印 response.text 会看到大量 HTML 代码,这就是百度的页面结构。
import requests
url = 'https://www.baidu.com'
response = requests.get(url)
print(response.text)
2. 解析网页内容
拿到源码后,我们需要用 BeautifulSoup 来清洗数据。比如我们要提取页面的标题:
from bs4 import BeautifulSoup
# 解析 HTML 内容
soup = BeautifulSoup(response.text, 'html.parser')
# 获取标题文本
title = soup.title.text
print('网页标题:', title)
运行后会输出类似 网页标题:百度一下,你就知道 的结果。这里的关键在于 soup.title.text,它会自动剥离标签只保留文字。
3. 提取更多信息
除了标题,链接也是常见需求。如果你想抓取页面上所有的文章链接,可以遍历所有 <a> 标签:
# 获取所有链接标签
links = soup.find_all('a')
for link in links:
href = link.get('href')
if href:
(href)


