# mini-spider **Repository Path**: samprasgit/mini-spider ## Basic Information - **Project Name**: mini-spider - **Description**: 基于Go语言实现的多线程爬虫程序 - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-12-21 - **Last Updated**: 2022-12-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mini-spider ## 基于Go实现的多线程爬虫程序 ### 0.项目运行 ```shell sh build.sh ``` ### 1. 项目介绍 - 基于Go实现的一个迷你定向抓取器 - 能够对种子链接、抓取网页中所包含链接的抓取 - 如果链接符合特定的pattern,将抓取的网页内容保存到磁盘 ### 2. 输入 - 种子文件:一些初始的网站URL - 配置文件:最大并发线程数&最大抓取深度 ### 3. 其它 - 存储网页内容时,每个网页单独存一个文件,以URL为文件名 - 支持多线程并行抓取 ### 4. 实现 - 代码分七个模块,各模块介绍如下 - 数据类模块 - config_load: 读取配置文件 - seed_file: 读取种子文件 - html_saver: 保存页面信息的具体实现 - 过程类模块 - mini_spider: 爬虫主线程的创建及启动,在该模块分发子线程 - crawler: 子线程的创建及启动,包括从任务队列中获取任务->读取页面信息->判断是否满足条件并保存->深层次爬取 - html_parse: 读取页面信息的具体实现