4.2 Python 爬虫实战(极简版)
这一节想让你体验一件事:
写一小段 Python 代码,从网页上抓一点点信息回来。
不追求把爬虫学精,也不追求兼容所有网站,只要跑通一个最简单的例子。
什么时候值得用爬虫?
几个典型场景:
- 想定期看某个排行榜/榜单的变化
- 想把某个列表页的数据拉下来做 Excel 分析
- 想自动化收集一些公开信息(文章标题、链接、价格等)
如果网站本身提供了官方 API,优先用 API;实在没有,再考虑爬虫。
准备环境(一步一步照做即可)
第 1 步: 确认有 Python
在终端输入:
python --version
# 或
python3 --version看到类似 Python 3.xx 就可以继续。如果没有,可以先问 AI:
我在 macOS/Windows 上想安装 Python 3,请给我一步一步的安装和验证指引。第 2 步: 安装依赖
在终端里执行:
pip install requests beautifulsoup4如果命令报错,把完整错误丢给 AI 让它帮你处理即可。
第 3 步: 写一个最小爬虫
新建文件 scrape_title.py,内容如下:
import requests
from bs4 import BeautifulSoup
def fetch_title(url: str) -> str:
resp = requests.get(url, timeout=10)
resp.raise_for_status()
soup = BeautifulSoup(resp.text, "html.parser")
if soup.title and soup.title.string:
return soup.title.string.strip()
return "没有找到标题"
if __name__ == "__main__":
url = "https://example.com"
title = fetch_title(url)
print("网页标题:", title)在终端运行:
python scrape_title.py如果能打印出网页标题,说明你的第一个爬虫已经通了。
把示例换成你关心的网站
先找一个结构简单、公开访问的页面,比如自己的博客列表页、某个公开文档目录等。
不要一上来就挑战复杂电商/社交网站。
可以照下面的方式请 AI 帮你改脚本:
这是我现在的爬虫代码(抓网页 title):
[贴上 scrape_title.py]
我想把它改成:
- 访问这个列表页: [粘贴 URL]
- 把页面上每一条文章的标题和链接抓下来
- 打印在终端,一行一个
请直接给我一份可以运行的完整 Python 代码。拿到代码后:
- 覆盖原来的
scrape_title.py - 重新运行
python scrape_title.py - 看输出是否符合你的预期
如果只抓到几条或者报错,照旧把错误丢给 AI,说明你想达到什么效果,一起调。
法律与礼貌红线(必须看)
底线:
- 只抓公开页面,不要绕过登录、付费墙
- 不抓私人数据、敏感信息
- 不对同一个网站发起高频请求(加一点
time.sleep()间隔) - 遇到 robots.txt 明确禁止抓取的路径,不要强行爬
只要你把爬虫当成「辅助采集公开信息的小工具」,而不是「暴力薅数据」,一般不会有问题。
下一节: 4.3 数据处理与自动化 – 学习如何把抓到的数据存下来,并让脚本定时自动跑。
Last updated on