https://github.com/djchanahcjd/osintool
OSINTool 是一个自动化爬虫客户端,包含一个Flask后端和一个Electron客户端,用于执行和管理爬虫任务。
https://github.com/djchanahcjd/osintool
apscheduler electron element-ui flask html-css-javascript pandas playwright requests tinydb vue2
Last synced: 3 months ago
JSON representation
OSINTool 是一个自动化爬虫客户端,包含一个Flask后端和一个Electron客户端,用于执行和管理爬虫任务。
- Host: GitHub
- URL: https://github.com/djchanahcjd/osintool
- Owner: DJChanahCJD
- License: mit
- Created: 2025-03-02T10:23:56.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-03-02T11:06:24.000Z (about 1 year ago)
- Last Synced: 2025-03-02T11:27:12.589Z (about 1 year ago)
- Topics: apscheduler, electron, element-ui, flask, html-css-javascript, pandas, playwright, requests, tinydb, vue2
- Language: HTML
- Homepage: https://github.com/DJChanahCJD/OSINTool
- Size: 94.2 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## 项目概述
OSINTool 是一个自动化爬虫客户端,包含一个Flask后端和一个Electron客户端,用于执行和管理爬虫任务。
> [网页端仓库](https://github.com/DJChanahCJD/OSINTool/tree/osintool-web)
## 快速开始
### 安装依赖
在`frontend`目录下运行以下命令安装**前端依赖**:
```bash
npm install
```
在项目根目录下运行以下命令安装**后端依赖**:
```bash
pip install flask flask-cors flask[async] tinydb shortuuid requests lxml pandas apscheduler playwright
playwright install
```
### 启动前后端
在`根目录`启动**Flask后端**:
```bash
python app.py
```
在`frontend`目录启动**Electron客户端**:
```bash
npm start
```
> 请确保已经安装了 Playwright 所需的浏览器和驱动,可通过 `playwright install` 命令进行安装。
## 技术栈
### 前端
- 页面构建:HTML/CSS/JS
- 客户端开发:Electron
- 组件库:ElementUI
### 后端
- 本地服务器:Flask
- 数据爬取:Playwirght, Requests
- 定时任务:APSchedule
- 数据库:TinyDB
## 项目结构
```
├── frontend
│ ├── edit.html # 编辑页
│ ├── index.html # 列表页
│ ├── main.js # Electron主进程
│ ├── package.json
│ ├── preload.js # 预加载脚本(含API)
├── utils
│ ├── parsers # 解析器
│ │ ├── base.py
│ │ ├── csv_parser.py
│ │ ├── html_parser.py
│ │ └── txt_parser.py
│ ├── common.py # 通用函数
│ ├── logger.py # 日志模块
│ ├── parser_factory.py # 解析器工厂
├── app.py # Flask后端(含API)
├── db.json # TinyDB数据库
```
## 预览图
### 任务列表页(index.html)

### 任务编辑页(edit.html)

## Todo
- 支持CSV输出
- 处理OCR/滑动验证码等人机验证
- CI/CD
- 支持网页端部署
## SWOT分析
- **Strengths(优势)**:支持多类型数据解析,自定义程度高 (登录、翻页等),任务调度灵活。
- **Weaknesses(劣势)**:学习成本高,需网页分析与正则基础;可视化差,没有直观界面;暂时无法应对人机验证等反爬技术。
- **Opportunities(机会)**:未来可融合AI实现智能爬取,集成如Excel等工具方便数据分析。
- **Threats(威胁)**:市场已有八爪鱼、EasySpider 等成熟可视化爬取工具;网页反爬技术迭代快 ,需持续更新爬取技术。
## 参考项目
- [八爪鱼采集器](https://www.bazhuayu.com/)
- [EasySpider](https://www.easyspider.net/)