当前位置: 首页 > ai >正文

简易 Python 爬虫实现,10min可完成带效果源码

目录

准备工作

编写爬虫代码

运行爬虫

查看结果

遇到的问题及解决

总结


前言和效果

本文记录了使用 Python 实现一个简单网页爬虫的过程,目标是爬取 quotes.toscrape.com 的名言和作者,并将结果保存到文本文件。以下是完整步骤,包含环境配置、依赖安装和代码运行。
网站截图:

爬取到的内容截图如下: 

准备工作
  1. 激活 Anaconda 虚拟环境
    我的 Python 环境基于 Anaconda,使用的虚拟环境是 SRCNN(路径:D:\Anaconda\envs\SRCNN)。首先,需要激活该环境:

conda activate SRCNN

运行后,命令行前缀变为 (SRCNN),表示成功切换到虚拟环境。

  1. 安装依赖包
    爬虫需要两个库:requests(发送 HTTP 请求)和 beautifulsoup4(解析 HTML)。在 SRCNN 环境中安装:

conda install requests beautifulsoup4

安装报错了,原因是未关闭科学上网,后关闭了这两个包就装好了。报错如下:
关闭科学上网后重新安装

安装完成后,命令行显示安装成功的提示。

  1. 验证安装
    为确保 beautifulsoup4 正确安装在 SRCNN 环境中,运行以下命令检查:

pip show beautifulsoup4

输出显示模块版本为 4.12.2,安装路径为 D:\Anaconda\envs\SRCNN\Lib\site-packages,确认安装正确。

编写爬虫代码,完整代码:

以下是爬虫代码(pac.py),用于爬取 quotes.toscrape.com 的名言和作者,并保存到 quotes.txt

import requests
from bs4 import BeautifulSoup# 目标网页
url = "http://quotes.toscrape.com/"try:# 发送 HTTP 请求response = requests.get(url)response.raise_for_status()  # 检查请求是否成功# 解析 HTMLsoup = BeautifulSoup(response.text, "html.parser")# 提取名言和作者quotes = soup.find_all("div", class_="quote")results = []for quote in quotes:text = quote.find("span", class_="text").get_text()author = quote.find("small", class_="author").get_text()results.append({"quote": text, "author": author})# 保存到文件with open("quotes.txt", "w", encoding="utf-8") as f:for item in results:f.write(f"Quote: {item['quote']}\nAuthor: {item['author']}\n\n")print("爬取完成,结果已保存到 quotes.txt")except requests.RequestException as e:print(f"请求错误: {e}")
except Exception as e:print(f"发生错误: {e}")

代码说明:

  • 使用 requests.get 获取网页内容。

  • BeautifulSoup 解析 HTML,提取 class="quote"<div> 元素。

  • 提取每条名言(class="text")和作者(class="author"),保存到 quotes.txt

目标网站:
Quotes to Scrape

运行爬虫

SRCNN 环境中运行代码:

D:\Anaconda\envs\SRCNN\python.exe D:/YAN/pythonProject/PaChong/pac.py

运行后,程序输出“爬取完成,结果已保存到 quotes.txt”,表示成功。

查看结果

爬取结果保存在 D:/YAN/pythonProject/PaChong/quotes.txt,内容为每条名言及其作者。

遇到的问题及解决

最初运行时,提示 ModuleNotFoundError: No module named 'bs4',因为 beautifulsoup4 安装在 Anaconda 全局环境(D:\Anaconda\Lib\site-packages)而非 SRCNN 环境。解决方法是激活 SRCNN 环境并重新安装:

conda activate SRCNN
conda install beautifulsoup4

此外,确认 requests 已安装,避免类似错误。

总结

通过以上步骤,我成功实现了一个简单的 Python 爬虫:

  • 激活 SRCNN 虚拟环境。

  • 安装 requestsbeautifulsoup4

  • 编写并运行爬虫代码,爬取名言并保存到文本文件。

这个过程熟悉了 Anaconda 虚拟环境管理和爬虫开发,适合初学者参考。未来可扩展功能,如处理多页爬取或应对反爬机制。

http://www.xdnf.cn/news/161.html

相关文章:

  • LIB-ZC, 一个跨平台(Linux)平台通用C/C++扩展库, 网络socket
  • Linux和Ubuntu的驱动适配情况
  • 数据结构-Map和Set
  • Oracle日志系统之附加日志
  • 学习海康VisionMaster之中线查找
  • 新手蓝桥杯冲击国一练习题单(四)
  • C++ 二叉搜索树
  • LINUX418 加载YUM源 wireshark ping程序 解析
  • 亚远景-ASPICE评估标准与车企供应商准入要求的关联性
  • 串口通信实战:从寄存器操作到数据处理的完全指南
  • 人像面部关键点检测
  • 力扣刷题Day 20:柱状图中最大的矩形(84)
  • FPGA HR Bank如何支持ODELAY问题分析
  • Yocto项目实战教程 · 第4章:4.3小节-层
  • 七、LangChain Tool类参数对接机制解析:基于Pydantic的类型安全与流程实现
  • JavaScript 核心特性完全指南
  • Python如何助力区块链网络安全?从攻击防范到智能合约审计
  • Jenkins 多分支管道
  • uniapp打包报错,
  • LeetCode -- Flora -- edit 2025-04-17
  • 间接飞行时间 (iToF) 原理介绍
  • 守护进程编程
  • idea 许可证过期
  • docker中freshrss不自动更新问题解决方案
  • 【ROS】TEB 规划器
  • Vue3 + TypeScript中provide和inject的用法示例
  • 【映客直播-注册/登录安全分析报告】
  • Kafka系列之:计算kafka集群topic占的存储大小
  • FairMOT与MCFairMOT算法对比
  • 智能翻译播放器,让无字幕视频不再难懂