Skip to Content

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 代码。

拿到代码后:

  1. 覆盖原来的 scrape_title.py
  2. 重新运行 python scrape_title.py
  3. 看输出是否符合你的预期

如果只抓到几条或者报错,照旧把错误丢给 AI,说明你想达到什么效果,一起调。

法律与礼貌红线(必须看)

底线:

  • 只抓公开页面,不要绕过登录、付费墙
  • 不抓私人数据、敏感信息
  • 不对同一个网站发起高频请求(加一点 time.sleep() 间隔)
  • 遇到 robots.txt 明确禁止抓取的路径,不要强行爬

只要你把爬虫当成「辅助采集公开信息的小工具」,而不是「暴力薅数据」,一般不会有问题。


下一节: 4.3 数据处理与自动化 – 学习如何把抓到的数据存下来,并让脚本定时自动跑。

Last updated on