最近有朋友问我,想学Python但不知道从哪下手。我的建议一向很直接:别啃教程了,写个爬虫吧。

学Python最好的切入点就是爬虫,代码不多,但跑出来的那一刻你会觉得"原来我也能写程序",这个感觉比看一百集教程都管用。下面花5分钟搞定你的第一个爬虫,仅作参考,如有不对请指正。

01 爬虫到底在干什么

简单说,爬虫就是"模拟人打开网页,然后把内容存下来"。

你平时浏览网页的过程:打开浏览器,输入网址,看到页面内容。

爬虫做的事情一模一样:用代码发请求,拿到网页源码,提取你要的数据。

区别只在于:你不用手动一条条复制了。

02 环境准备

两样东西,装好就能开工。

1、Python

去官网(python.org)下载Python 3.10以上版本,安装时勾选"Add Python to PATH",一路下一步。

验证安装是否成功,打开命令行输入:

python --version

能看到版本号就行。

2、两个第三方库

打开命令行,执行:

pip install requests beautifulsoup4

requests:负责发网络请求,你可以理解为"帮你打开网页"。

beautifulsoup4:负责解析网页内容,你可以理解为"帮你从网页里找东西"。

装完这两步,环境就齐了。

03 写第一个爬虫

目标:抓取一个测试网站(quotes.toscrape.com)的名言和作者。

这个网站是专门给新手练手用的,不用担心合规问题。

直接上代码:

import requests
from bs4 import BeautifulSoup

# 1、发请求,拿到网页源码
response = requests.get("https://quotes.toscrape.com/")

# 2、解析网页
soup = BeautifulSoup(response.text, "html.parser")

# 3、提取名言和作者
quotes = soup.find_all("span", class_="text")
authors = soup.find_all("small", class_="author")

# 4、打印结果
for i in range(len(quotes)):
    print(f"名言:{quotes[i].text}")
    print(f"作者:{authors[i].text}")
    print("-" * 30)

保存为 spider.py,然后运行:

python spider.py

你会看到屏幕上刷出来一条条名言和作者,这就是你的第一个爬虫。

整个代码不到15行,核心逻辑就三步:发请求,解析,提取。

04 把数据存下来

光打印在屏幕上不够,我们把数据存成文本文件。

在代码末尾加上:

with open("名言.txt", "w", encoding="utf-8") as f:
    for i in range(len(quotes)):
        f.write(f"名言:{quotes[i].text}\n")
        f.write(f"作者:{authors[i].text}\n")
        f.write("-" * 30 + "\n")

运行后,同级目录下会生成一个「名言.txt」,打开就能看到抓取的数据。

encoding="utf-8"这个参数别漏,不然中文会乱码。

05 踩得坑

1、requests直接报错ConnectionError

大概率是网络问题。如果你在公司内网,可能需要配置代理:

import os
os.environ["http_proxy"] = "http://你的代理地址:端口"

2、BeautifulSoup找不到数据

最常见的原因:网页内容是JavaScript动态加载的,requests拿到的源码里没有你要的数据。

判断方法:在浏览器里打开网页,右键"查看源代码",如果你要的数据在源码里能看到,说明requests能抓到;如果看不到,说明是动态加载的,需要换用selenium或playwright。

3、抓到的中文乱码

两个地方检查:

  • requests响应编码:response.encoding = "utf-8"
  • 文件写入编码:open()里加encoding="utf-8"

4、被封IP

练手阶段一般不会遇到。但如果频繁请求同一个网站,建议加个延迟:

import time
time.sleep(1)  # 每次请求间隔1秒

06 总结

通过本指南你已经掌握了:

  • 爬虫的基本原理(发请求,解析,提取)
  • requests + BeautifulSoup的用法
  • 数据存储到本地文件
  • 常见报错的排查思路

下一步可以尝试:翻页抓取、存入Excel、存入数据库。

爬虫的核心不是代码量,而是"你知道自己想要什么数据,然后去拿"。工具只是手段,思路才是关键。

分类: 编程开发 标签: Python

评论

暂无评论数据

暂无评论数据

目录