大家好!
前面我们学了自动化办公、可视化图表、效率小工具,今天这篇是「数据获取神器」——Python 合法爬虫。
注意:我们只爬取公开、合规、允许访问的信息,坚决不碰隐私、付费、受限内容!
学会这章,你能:
✅ 批量采集公开文章 / 素材
✅ 爬取行业公开数据
✅ 整理网页信息到 Excel
✅ 告别手动复制粘贴
一、先明确:什么是合法爬虫?
✅ 爬取公开可见的信息(如新闻、行业数据、公开文档)
✅ 遵守网站的robots.txt协议
✅ 不攻击网站、不高频请求、不爬取隐私 / 付费内容
✅ 仅用于个人学习 / 办公,不商用、不违法
🚫 禁止:爬取付费内容、用户隐私、敏感信息、受版权保护且禁止转载的内容!
二、1 分钟准备环境(仅需 2 句命令)
打开命令提示符,安装必备库:
pip install requestspip install beautifulsoup4 pandas
三、实战 1:爬取网页标题(最简单入门)
功能:获取任意网页的标题,新手友好,零难度!
import requestsfrom bs4 import BeautifulSoup# 目标网址(仅示例,可替换成公开网页)url = "https://www.baidu.com"# 发送请求(模拟浏览器访问)headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}response = requests.get(url, headers=headers)response.encoding = "utf-8"# 解析网页soup = BeautifulSoup(response.text, "html.parser")title = soup.title.stringprint("✅ 网页标题:", title)
四、实战 2:爬取网页文本内容(采集素材)
功能:提取网页正文,自动保存到本地文档!
import requestsfrom bs4 import BeautifulSoupurl = "https://www.example.com" # 替换成公开文章网址headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}# 发送请求response = requests.get(url, headers=headers)response.encoding = "utf-8"# 解析并提取正文(不同网站标签不同,可微调)soup = BeautifulSoup(response.text, "html.parser")content = soup.find("div", class_="article-content") # 根据网页结构改class# 保存到本地if content: with open("爬取的文章.txt", "w", encoding="utf-8") as f: f.write(content.get_text().strip()) print("✅ 文章已保存到:爬取的文章.txt")else: print("❌ 未找到正文内容,请检查网页结构")
五、实战 3:爬取图片(合法保存公开图片)
功能:批量下载网页中的公开图片,自动保存到本地!
import requestsfrom bs4 import BeautifulSoupimport os# 创建图片文件夹if not os.path.exists("爬取的图片"): os.mkdir("爬取的图片")url = "https://www.example.com" # 替换成公开图片网页headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}response = requests.get(url, headers=headers)soup = BeautifulSoup(response.text, "html.parser")# 提取所有图片链接img_tags = soup.find_all("img")count = 1for img in img_tags: img_url = img.get("src") if img_url and (img_url.endswith(".jpg") or img_url.endswith(".png")): try: # 下载图片 img_response = requests.get(img_url, headers=headers) with open(f"爬取的图片/图片{count}.jpg", "wb") as f: f.write(img_response.content) print(f"✅ 图片{count}下载完成") count += 1 except: print(f"❌ 图片{count}下载失败")print("🎉 所有图片下载完成!")
六、实战 4:爬取表格数据并保存到 Excel
功能:提取网页表格,自动整理到 Excel,数据分析超方便!
import requestsfrom bs4 import BeautifulSoupimport pandas as pdurl = "https://www.example.com" # 替换成有表格的公开网页headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}response = requests.get(url, headers=headers)response.encoding = "utf-8"soup = BeautifulSoup(response.text, "html.parser")table = soup.find("table") # 找到网页中的表格# 解析表格数据rows = []for tr in table.find_all("tr"): row = [td.get_text().strip() for td in tr.find_all("td")] if row: rows.append(row)# 保存到Exceldf = pd.DataFrame(rows)df.to_excel("爬取的表格.xlsx", index=False, header=False)print("✅ 表格已保存到:爬取的表格.xlsx")
七、爬虫必看:避坑指南(新手必看)
1)为什么爬取失败?
2)如何安全爬取?
✅ 加请求头(模拟浏览器)
✅ 控制请求速度(加time.sleep(1))
✅ 只爬公开内容
✅ 不高频访问同一网站
3)零基础能学会吗?
能!以上脚本都是「复制→改网址→运行」,不用懂底层逻辑。
八、系列收官预告
到这里,我们的「零基础 Python 入门系列」就告一段落啦!
回顾整个系列,我们从 0 到 1 学会了:
✅ Python 基础语法
✅ Excel / 文件 / 邮件自动化
✅ 数据可视化图表
✅ 效率小工具合集
✅ 合法爬虫入门
后续会更新「Python 实战项目合集」,比如:
👉 自动记账小程序
👉 天气查询工具
👉 批量处理 PDF
👉 简单 AI 小应用
最后想说
Python 的核心价值,从来不是「学会语法」,而是「用技术解决问题」。
从每天少加班 1 小时,到用数据做出更优决策,
从手动复制粘贴,到一键批量处理,
这才是学习 Python 的真正意义。
如果这个系列对你有帮助,欢迎:
👍 点赞收藏(方便后续回看)
⭐ 点在看(让更多人看到)
🔗 转发给需要提升效率的朋友!