164 lines
5.3 KiB
Markdown
Executable File
164 lines
5.3 KiB
Markdown
Executable File
# 1. 前言
|
||
|
||
---
|
||
|
||
为何写这个接口?其实本来不准备写的,这两天在练习 [TypeScript](https://www.tslang.cn/index.html),然后一直在用[TypeScript](https://www.tslang.cn/index.html)改造[express](http://www.expressjs.com.cn/)框架的应用生成器代码。改着改着发现有点无聊了。
|
||
|
||
无聊,而且没有挑战,怎么办?....Google翻墙后随意逛了下,然后无意中看到一个比较`好欺负`的 学(dongzuo)习(pian)网站,然后抄起还没最终完善好的项目代码来练练手!
|
||
|
||
**注意:代码本无罪,请以学习的目的来正确看待本项目!**
|
||
|
||
|
||
## 2. 技术实现
|
||
|
||
---
|
||
|
||
项目基于[Node.js](http://nodejs.cn/),主要开发语言使用的是[TypeScript](https://www.tslang.cn/index.html),通过自动化构建工具[gulp](https://www.gulpjs.com.cn/)实现对`*.ts`文件的修改后的自动编译成`*.js`。
|
||
|
||
使用模块 [gulp-uglify](https://www.npmjs.com/package/gulp-uglify) 压缩编译成功后的js代码,然后通过模块 [gulp-babel](https://www.npmjs.com/package/gulp-babel)将编译后的`es6`转换成`es5`代码。
|
||
|
||
因为当我们还没写完某段ts代码,gulp在后台编译的时候就会报错,报错直接导致了gulp终止了进程也就无法对代码进行有效的实时编译。所以这里使用模块 [gulp-plumber](https://www.npmjs.com/package/gulp-plumber)在容易出错的地方写错误监听。这个插件可以阻止 gulp 插件发生错误导致进程退出并输出错误日志。
|
||
|
||
代码位置:`gulpfile.js` 第18行
|
||
```js
|
||
//编译ts文件为js
|
||
gulp.task('build-ts',function(){
|
||
return tsp.src()
|
||
.pipe(plumber()) // 捕捉编译ts编译的错误,避免因为错误导致gulp进场关闭
|
||
.pipe(tsp())
|
||
.pipe(gulp.dest(PATHS.output));
|
||
});
|
||
|
||
```
|
||
|
||
|
||
因为我们要让gulp在后台监听并实时编译ts文件,然后还想让我们的nodejs服务器同步我们ts文件编译结束能自动重启查看到效果,所以我这里安装了模块 [concurrently](https://www.npmjs.com/package/concurrently) 。主要用于同步运行gulp任何和启动nodejs网站服务器。
|
||
|
||
`package.json`中代码:
|
||
|
||
```js
|
||
"scripts": {
|
||
...
|
||
"all": "concurrently \"gulp dev\" \"npm run dev\" "
|
||
}
|
||
```
|
||
|
||
所以请先全局安装 `concurrently`,命令:
|
||
|
||
> npm install -g concurrently
|
||
|
||
然后在安装你的网站依赖。
|
||
|
||
|
||
**项目里有些文件和代码和此次爬虫的代码无关,只是我之前还没写完的代码留在那,懒得删除!并不影响使用...**
|
||
|
||
|
||
## 3. 接口
|
||
|
||
---
|
||
|
||
> 测试阶段接口统一运行在 [http://127.0.0.1:3000](http://127.0.0.1:3000)
|
||
|
||
### 3.1: 获取网站主页数据
|
||
|
||
---
|
||
|
||
这个接口获取的是网站主页的数据,视频数量有限,不过是推荐的热门视频。
|
||
|
||
|
||
| 接口地址 | 请求方式 | 参数 |
|
||
| :-----------| :------- | ---------------------- |
|
||
| /index | GET | 无 |
|
||
|
||
- 实例:[http://127.0.0.1:3000/index](http://127.0.0.1:3000/index)
|
||
|
||
- 数据返回:
|
||
|
||
```json
|
||
{
|
||
status: 200,
|
||
length: 24,
|
||
time: "2018-08-11 23:22:26",
|
||
result: [
|
||
{
|
||
title: "SM调教最新**娘",
|
||
href: "https://www.**.com/Html/93/5949.html",
|
||
gif: "https://pic.**.com/Uploads/vod/2018-08-11/7.mp4.gif",
|
||
time: "2018-08-11",
|
||
mp4: "https://d.e**i.com/20180811/93/7/7.mp4"
|
||
},
|
||
{
|
||
title: "极品**女主播96年美女赵晓晓人这么瘦却有这么一对****",
|
||
href: "https://www.**.com/Html/91/5948.html",
|
||
gif: "https://pic.**.com/Uploads/vod/2018-08-11/924.mp4.gif",
|
||
time: "2018-08-11",
|
||
mp4: "https://d.**.com/20180811/91/924/924.mp4"
|
||
},
|
||
]
|
||
}
|
||
```
|
||
|
||
### 3.2: 获取网站各栏目的视频数据
|
||
|
||
---
|
||
|
||
这个接口是用来获取各个网站分类栏目的数据,视频数量和分类更多!
|
||
|
||
|
||
| 接口地址 | 请求方式 | 参数 |
|
||
| :------------------------ | :------- | ---------- |
|
||
| /videoClass | GET | type:具体栏目编号(参考下面的表) <br> page: 页码|
|
||
|
||
- 实例:[http://127.0.0.1:3000/videoClass?type=60&page=1](http://127.0.0.1:3000/videoClass?type=60&page=1)
|
||
|
||
|
||
- 数据返回:
|
||
|
||
```json
|
||
{
|
||
status: 200,
|
||
length: 12,
|
||
time: "2018-08-11 23:35:55",
|
||
total: "共2642部 4/221",
|
||
result: [
|
||
{
|
||
title: "藝壇風雨錄-[粵語中字]",
|
||
href: "https://www.**.com/Html/109/5865.html",
|
||
gif: "https://pic.**.com/Uploads/vod/2018-08-06/11.mp4.jpg",
|
||
time: "2018-08-06",
|
||
mp4: "https://d.**.com/20180806/109/11/11.mp4"
|
||
},
|
||
{
|
||
title: "正点留学妹妹**视频被**漂亮",
|
||
href: "https://www.**.com/Html/87/5857.html",
|
||
gif: "https://pic.**.com/Uploads/vod/2018-08-05/64.mp4.gif",
|
||
time: "2018-08-05",
|
||
mp4: "https://d.**.com/20180805/87/64/64.mp4"
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
注意:type 字段的具体编号请看下表:
|
||
|
||
| 栏目名称 | 栏目编号 |
|
||
| :--------| :------|
|
||
| 国产精品 | 60 |
|
||
| 中文字幕 | 94 |
|
||
| S级女优 | 100 |
|
||
| 欧美性爱 | 62 |
|
||
| 成人动漫 | 101 |
|
||
| 自拍偷拍 | 89 |
|
||
| 夫妻同房 | 87 |
|
||
| 开放90后 | 93 |
|
||
| 换妻游戏 | 90 |
|
||
| 网红主播 | 91 |
|
||
| 手机小视频 | 88 |
|
||
| 明星艳照门 | 92 |
|
||
| 经典三级 | 109 |
|
||
| 无码在线 | 110 |
|
||
| 熟女人妻 | 111 |
|
||
| 美颜巨乳 | 112 |
|
||
| 颜射吃精 | 113 |
|
||
| 丝袜制服 | 114 |
|