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

简易 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 虚拟环境管理和爬虫开发,适合初学者参考。未来可扩展功能,如处理多页爬取或应对反爬机制。

相关文章:

  • Tokenizer的细节计算方式及优缺点分析
  • 16862A 68 通道便携式逻辑分析仪
  • RocketMQ 的详细使用教程
  • MySQL启动Failed to start LSB: start and stop MySQL
  • JAVA 异常+File
  • 分享4-5月工信部排考计划
  • Altium Designer安装教程
  • LeetCode19.删除链表的倒数第N个节点
  • __call__ 方法
  • 文章记单词 | 第38篇(六级)
  • 《GPT-4.1深度解析:AI进化新标杆,如何重塑行业未来?》
  • 2025年03月中国电子学会青少年软件编程(Python)等级考试试卷(六级)答案 + 解析
  • [python]@staticmethod
  • 【AI提示词】退休规划顾问专家
  • SAP系统中MD01与MD02区别
  • Manus AI:突破多语言手写识别技术壁垒之路
  • 嵌入式设备网络的动态ID分配机制实现
  • yolo系列发展
  • Linux系统编程---多进程
  • Linux 系统编程 day5 进程管道
  • 俄罗斯与乌克兰互换246名在押人员
  • 从6家试点扩展至全行业,券商并表监管有何看点?
  • 天工机器人获首个人形机器人半马冠军
  • 由“环滁皆山”到“环滁皆景”,滁州如何勾勒“文旅复兴”
  • 中央和国家机关工委建立健全整治形式主义为基层减负长效机制
  • 2025年世界互联网大会亚太峰会数字金融论坛举行