当前位置:首页>python>Python 爬虫入门:合法爬取公开数据,效率直接拉满

Python 爬虫入门:合法爬取公开数据,效率直接拉满

  • 2026-10-10 19:33:33
Python 爬虫入门:合法爬取公开数据,效率直接拉满

大家好!

前面我们学了自动化办公、可视化图表、效率小工具,今天这篇是「数据获取神器」——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)为什么爬取失败?

  • 没有加User-Agent(被网站识别为爬虫)
  • 网页结构变了(class / 标签名不对)
  • 网站有反爬机制(需降低请求频率)
  • 网址是动态加载(需用更复杂的库,新手暂不涉及)

2)如何安全爬取?

✅ 加请求头(模拟浏览器)

✅ 控制请求速度(加time.sleep(1))

✅ 只爬公开内容

✅ 不高频访问同一网站

3)零基础能学会吗?

能!以上脚本都是「复制→改网址→运行」,不用懂底层逻辑。


八、系列收官预告

到这里,我们的「零基础 Python 入门系列」就告一段落啦!

回顾整个系列,我们从 0 到 1 学会了:

✅ Python 基础语法

✅ Excel / 文件 / 邮件自动化

✅ 数据可视化图表

✅ 效率小工具合集

✅ 合法爬虫入门

后续会更新「Python 实战项目合集」,比如:

👉 自动记账小程序

👉 天气查询工具

👉 批量处理 PDF

👉 简单 AI 小应用


最后想说

Python 的核心价值,从来不是「学会语法」,而是「用技术解决问题」。

从每天少加班 1 小时,到用数据做出更优决策,

从手动复制粘贴,到一键批量处理,

这才是学习 Python 的真正意义。

如果这个系列对你有帮助,欢迎:

👍 点赞收藏(方便后续回看)

⭐ 点在看(让更多人看到)

🔗 转发给需要提升效率的朋友!

最新文章

随机文章