Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xlong1029/xlong-spider-egg
基于Egg + Puppeteer + Sqlite3 开发的简易版爬虫项目
https://github.com/xlong1029/xlong-spider-egg
egg nunjucks puppeteer sqlite3 vue
Last synced: 7 days ago
JSON representation
基于Egg + Puppeteer + Sqlite3 开发的简易版爬虫项目
- Host: GitHub
- URL: https://github.com/xlong1029/xlong-spider-egg
- Owner: xLong1029
- License: mit
- Created: 2019-08-19T09:08:04.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-10-08T04:01:22.000Z (about 1 year ago)
- Last Synced: 2023-10-09T04:32:46.472Z (about 1 year ago)
- Topics: egg, nunjucks, puppeteer, sqlite3, vue
- Language: JavaScript
- Homepage:
- Size: 14.9 MB
- Stars: 6
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# xlong-spider-egg
## 重要通知!!!
我的账号在Github开启2FA设置后,因某种原因丢失恢复码导致账号无法登录,日后该账号下的所有项目在github不再更新,若想查看持续更新的项目请移步到 [我的码云仓库](https://gitee.com/xlong1029)## 介绍
xlong-spider-egg 是一套基于Egg + Puppeteer + Sqlite3 开发的简易版爬虫项目(仅供学习和娱乐,请勿商用)。
## 项目迭代
1. V1.0版本
可通过配置的节点获取小说内容并下载
可通过配置的节点获取网页相关信息
可截取网页图片,存储为jpg格式图片
可获取网页信息,存储为pdf文件2. V2.0版本
正在开发...
预计添加功能:添加代理服务器,通过代理服务器爬取数据,开启多浏览器模式,加快爬取速度## 项目说明
#### 2. 项目用到技术、框架与插件
[Node.js](https://github.com/nodejs)
[Egg.js](https://github.com/eggjs)
[egg-view-nunjucks](https://github.com/eggjs/egg-view-nunjucks)
[puppeteer](https://github.com/GoogleChrome/puppeteer)
[node-sqlite3](https://github.com/mapbox/node-sqlite3)#### 3. 浏览器兼容性
响应式页面,主要兼容浏览器:IE10+、IE Edge、Safai、Firefox、Chrome等。## 部分项目运行截图
* 获取小说
![Image text](static/images/screen-1.gif)
![Image text](static/images/screen-2.gif)
![Image text](static/images/screen-3.gif)
* 获取截图
![Image text](static/images/screen-4.gif)
* 获取数据
![Image text](static/images/screen-5.gif)
## 目录结构
```
│ .autod.conf.js
│ .eslintignore
│ .eslintrc
│ .gitignore
│ .travis.yml
│ app.js // 项目启动配置,连接数据库
│ appveyor.yml
│ jsconfig.json
│ package.json
│ README.md
│
├─.vscode // vscode配置,用于配置less
│
├─static // 静态文件,保存项目截图
│
├─database
│ spider.db // SQLite数据库
│ README.md // 数据库设计说明
│
├─app
│ │ router.js // 路由配置
│ │
│ │
│ ├─controller
│ │ home.js // 前台相关controller
│ │
│ ├─extend
│ │ helper.js // 用来提供一些实用的 utility 函数
│ │
│ ├─public
│ │ │
│ │ ├─common // 通用模块
│ │ │
│ │ ├─upload // 爬取信息存储位置
│ │ │
│ │ └─home // 前台项目静态资源
│ │
│ ├─service // 用来执行具体的操作
│ │ sqliteDB.js // Sqlite查询封装方法
│ │ proxy.js // 代理服务器相关操作
│ │ browser.js // 浏览器相关操作
│ │ spider.js // 爬虫相关服务
│ │ store.js // 文件存储服务
│ │ index.js // 前台服务
│ │
│ └─view // 模板文件
│
├─config
│ config.default.js // 项目配置相关
│ plugin.js // 插件
│
└─test // 测试相关
└─app
└─controller
home.test.js
```## 本地运行
1. 安装前台依赖
> npm install2. 运行项目
* 默认端口启动:
> npm run dev访问地址:http://localhost:7001
## 项目打包
> npm run build## 作者联系方式
QQ:381612175
TEL: 18376686974github:https://github.com/xLong1029/
站酷主页:http://xlong.zcool.com.cn/
UI中国:http://i.ui.cn/ucenter/358591.html
* 此项目做学习Angular测试使用,有什么问题可联系我讨论