前言
本节将带大家完成一个最基础的 Python 爬虫项目。从环境搭建到代码实现,全程拆解,希望能帮你建立起对网络爬虫的直观认识。
网站结构分析
典型的小说网站层级通常如下: 首页(总目录) → 分类页 → 小说目录页 → 具体章节页
理解这个结构是编写爬虫的第一步。
交互原理
爬虫的本质是模拟浏览器行为。 用户通过浏览器访问服务器,发送请求(Request),服务器返回响应(Response)。浏览器接收后缓存并渲染页面。
爬虫则直接获取响应内容,提取所需数据。
环境准备
确保已安装 Python 3.x。我们需要用到 requests 库来处理网络请求。
在终端执行以下命令安装依赖:
pip install requests
关于镜像源设置,如果下载速度较慢,可以配置国内镜像,例如清华源:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
核心逻辑与代码实现
基本思路很清晰:
- 访问小说目录页,获取所有章节链接和标题。
- 遍历这些链接,请求每一章的具体内容。
- 清洗数据,去除无关 HTML 标签。
- 将结果写入本地文本文件。
下面是一个简化的实现示例,展示了如何获取页面并保存内容:
import requests
import os
def fetch_chapter(url):
try:
# 设置请求头,模拟浏览器访问
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'
}
response = requests.get(url, headers=headers, timeout=10)
response.encoding = response.apparent_encoding
if response.status_code == 200:
return response.text
else:
print(f"请求失败:{response.status_code}")
return None
except Exception as e:
print(f"发生错误:{e}")
return
():
target_url =
content = fetch_chapter(target_url)
content:
os.path.exists():
os.makedirs()
filename =
(filename, , encoding=) f:
f.write(content)
()
__name__ == :
main()


