Metadata-Version: 2.4
Name: nosp
Version: 0.6.5
Summary: spider tools
Author-email: noybzy <noybzy@qq.com>
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: dbutils==3.1.0
Requires-Dist: loguru>=0.7.3
Requires-Dist: parsel==1.10.0
Requires-Dist: pymysql==1.1.1
Requires-Dist: requests>=2.32.3

NOSP是一个轻量级、模块化的Python框架，专为高效的网络爬取而设计。它为开发者提供了构建健壮且可扩展的网络爬虫的基本工具，同时处理常见的挑战，如并发、HTTP请求、内容解析和数据存储。
来源：spider.py, http.py

NOSP作为一个专门的工具包，通过提供预构建的组件来简化复杂的网络爬取过程，解决最常见的爬取挑战。该框架抽象了许多技术细节，使您可以专注于提取所需数据，而不是处理实现复杂性。
来源：pyproject.toml, core.py

主要特性
NOSP提供了一整套功能，解决网络爬取中的主要挑战：

特性	描述
多线程爬取	内置线程池管理，支持并发操作
HTTP请求处理	强大的请求管理，包括重试机制、代理支持和请求/响应拦截器
内容解析	基于XPath的强大内容提取工具
数据库集成	直接连接MySQL和Redis进行数据存储
错误处理	全面的异常管理，确保爬取的韧性
资源提取	专用工具，用于从网页中提取附件和图片
来源：spider.py#L10-L63, http.py#L30-L92, parse.py#L29-L97, database.py#L26-L46

框架架构
NOSP采用模块化设计，将关注点分离到不同的组件中，同时保持它们之间的清晰接口。这种架构允许开发者仅使用特定爬取任务所需的部件。











框架的核心是BaseSpider类，它协调爬取工作流程并与其他组件集成。
来源：spider.py#L65-L101

何时使用NOSP
NOSP在以下情况下特别有价值：

您需要构建可维护、结构化的网络爬虫
您的爬取项目需要并发操作以提高效率
您希望处理常见的爬取挑战（如代理、解析和存储），而不需要重新发明解决方案
您需要一个灵活的基础，可以根据特定爬取需求进行扩展
该框架设计轻量，足以应对简单的爬取任务，同时足够健壮，支持复杂的生产级爬取操作。
来源：spider.py, http.py

核心概念
NOSP围绕几个基本概念运作：

爬虫：协调爬取工作流程的核心组件
请求：管理与目标网站的HTTP交互
解析器：从网页内容中提取结构化数据
存储：处理爬取数据的持久化
理解这些概念对于有效使用框架至关重要，后续文档将详细覆盖这些内容。
来源：spider.py, http.py, parse.py, database.py

入门指南
要开始使用NOSP，您需要：

通过pip或其他包管理器安装该包
导入必要的组件
创建一个继承自BaseSpider的爬虫类
为您的特定爬取任务实现所需的方法
下一节“快速入门”将通过实际示例指导您完成这一过程，展示如何创建您的第一个NOSP爬虫。
