{"id":29142253,"url":"https://github.com/ethanz-code/short-video-extractor","last_synced_at":"2025-06-30T19:10:26.184Z","repository":{"id":272948924,"uuid":"918222527","full_name":"ethanz-code/short-video-extractor","owner":"ethanz-code","description":"一个稳定快速的短视频解析服务，部署即可使用，目前支持小红书作品去水印","archived":false,"fork":false,"pushed_at":"2025-06-10T03:10:32.000Z","size":3277,"stargazers_count":69,"open_issues_count":1,"forks_count":14,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-24T12:53:13.277Z","etag":null,"topics":["api","douyin","kuaishou","parse-server","short-video","xiaohongshu"],"latest_commit_sha":null,"homepage":"https://sv-extractor.itcox.cn/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ethanz-code.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-17T13:49:17.000Z","updated_at":"2025-06-24T03:26:16.000Z","dependencies_parsed_at":"2025-02-24T02:24:15.383Z","dependency_job_id":"81cdaa94-ae67-4402-a2c7-aadcf38e35ce","html_url":"https://github.com/ethanz-code/short-video-extractor","commit_stats":null,"previous_names":["yassine-zhang/short-video-extractor","ethanz-code/short-video-extractor"],"tags_count":0,"template":false,"template_full_name":"ethanz-code/TypeScript-Elysia-Prisma-Starter","purl":"pkg:github/ethanz-code/short-video-extractor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethanz-code%2Fshort-video-extractor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethanz-code%2Fshort-video-extractor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethanz-code%2Fshort-video-extractor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethanz-code%2Fshort-video-extractor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ethanz-code","download_url":"https://codeload.github.com/ethanz-code/short-video-extractor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ethanz-code%2Fshort-video-extractor/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262834822,"owners_count":23371854,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","douyin","kuaishou","parse-server","short-video","xiaohongshu"],"created_at":"2025-06-30T19:10:24.450Z","updated_at":"2025-06-30T19:10:26.172Z","avatar_url":"https://github.com/ethanz-code.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003ch1 align=\"center\"\u003eVideo Parser Service\u003c/h1\u003e\n✨✨✨这是一个可以快速部署的短视频解析服务，开箱即用，目前支持小红书解析服务✨✨✨\n\n\u003cbr /\u003e\n\n[![GitHub License](https://img.shields.io/github/license/yassine-zhang/short-video-extractor?style=flat-square\u0026color=gold)](./LICENSE)\n[![GitHub Repo stars](https://img.shields.io/github/stars/yassine-zhang/short-video-extractor?style=flat-square)](https://github.com/yassine-zhang/short-video-extractor/stargazers)\n[![GitHub forks](https://img.shields.io/github/forks/yassine-zhang/short-video-extractor?style=flat-square)](https://github.com/yassine-zhang/short-video-extractor/forks)\n[![GitHub Issues or Pull Requests](https://img.shields.io/github/issues/yassine-zhang/short-video-extractor?style=flat-square\u0026color=mediumpurple)](https://github.com/yassine-zhang/short-video-extractor/issues)\n[![GitHub Issues or Pull Requests](https://img.shields.io/github/issues-closed/yassine-zhang/short-video-extractor?style=flat-square\u0026color=mediumpurple)](https://github.com/yassine-zhang/short-video-extractor/issues?q=is%3Aissue%20state%3Aclosed)\n[![Docker Image Size](https://img.shields.io/docker/image-size/yassine778/video-parser?arch=amd64\u0026style=flat-square\u0026logo=docker\u0026logoColor=mediumseagreen\u0026color=mediumseagreen)](https://hub.docker.com/r/yassine778/video-parser)\n![GitHub repo size](https://img.shields.io/github/repo-size/yassine-zhang/short-video-extractor?style=flat-square\u0026color=mediumseagreen)\n\n[![Server Status](https://img.shields.io/endpoint?url=https%3A%2F%2Fkener-sve-monitor-to-shieldsendpoints.it-edu.workers.dev%2Fstatus)](https://status.itcox.cn/?monitor=sve-api)\n[![Server Uptime](https://img.shields.io/endpoint?url=https%3A%2F%2Fkener-sve-monitor-to-shieldsendpoints.it-edu.workers.dev%2Fuptime)](https://status.itcox.cn/?monitor=sve-api)\n\n\u003c/div\u003e\n\n## 功能列表🎉🎉🎉\n\n1.  每次解析速度稳定在 3 ~ 12s ，速度取决于页面内解析量和服务器下行网速✨；\n2.  小红书实况图解析后会被作为视频返回，我们加入了 type 变量来区分解析的资源类型🎉；\n3.  ...\n\n## 注意⚠️\n\n当前项目通过 Node.js puppeteer 模拟点击操作并监听资源实现短视频解析，受限于页面结构和反爬机制，无法保证长期稳定性。\n\n## TodoList📍\n\n在不久的将来，我将新开一个专门仓库，基于 Node.js 或 Python，直接调用小红书 API 接口获取数据，从而大幅提升解析的稳定性与兼容性，欢迎持续关注项目进展。\n\n## API 接口\n\n### 标准接口\n\n| 接口路径           | 请求方法 | Content-Type     | 请求参数示例                                                             | 说明                     |\n| ------------------ | -------- | ---------------- | ------------------------------------------------------------------------ | ------------------------ |\n| /pv                | POST     | application/json | {\u003cbr\u003e \u0026nbsp;\u0026nbsp; \"url\": \"https://www.xiaohongshu.com/explore/xxx\"\u003cbr\u003e} | 解析短视频接口，简化地址 |\n| /public/parseVideo | POST     | application/json | {\u003cbr\u003e \u0026nbsp;\u0026nbsp; \"url\": \"https://www.xiaohongshu.com/explore/xxx\"\u003cbr\u003e} | 解析短视频接口           |\n\n---\n\n## 环境变量说明\n\n- `PORT`：服务监听端口（开发环境建议 10010，生产环境建议 7777）\n- `PUPPETEER_EXECUTABLE_PATH`：指定 Puppeteer 启动时所用 Chromium/Chrome 浏览器的绝对路径，建议在 Docker 或服务器环境下设置为 `/usr/bin/chromium-browser`，否则 Puppeteer 可能无法正常启动。\n\n## 本地运行\n\n### 安装依赖\n\n```bash\nbun install\n```\n\n### 直接运行源代码\n\n```bash\nbun run dev\n```\n\n### 编译并运行\n\n```bash\nbun run build-local \u0026\u0026 bun run start\n```\n\n## Docker 镜像快速使用\n\n你可以直接拉取并运行我们已构建好的官方镜像，无需本地构建：\n\n### 1. 拉取镜像\n\n```bash\ndocker pull yassine778/video-parser:latest\n```\n\n### 2. 运行容器\n\n```bash\ndocker run -d \\\n  -p 10010:7777 \\\n  --name video-parser \\\n  yassine778/video-parser:latest\n```\n\n### 3. 验证服务\n\n容器启动后，发起 POST 请求 `http://localhost:10010/public/parseVideo` 即可调用接口。\n\n---\n\n详情内容请参考[详细部署文档](./docs/DEPLOYMENT.md)。\n\n如遇镜像拉取缓慢，可参考[镜像源配置指南](./docs/DOCKER_MIRROR.md)加速 Docker 镜像下载。\n\n---\n\n如需进一步定制或有疑问，欢迎随时联系技术支持。\n\n## 联系我们\n\n- QQ: 57878778\n- 邮箱：support@itcox.cn\n\n## 赞助支持\n\n\u003cp style=\"display: flex;\"\u003e\n    \u003cimg src=\"./docs/images/wechat-pay.png\" alt=\"赞助码\" width=\"200\"\u003e\n    \u003cimg src=\"./docs/images/alipay.png\" alt=\"赞助码\" width=\"200\"\u003e\n\u003c/p\u003e\n\n## 许可证\n\n本项目采用 [Apache License 2.0](LICENSE) 许可证。Copyright © 2025 济宁若森软件开发中心（个人独资）\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fethanz-code%2Fshort-video-extractor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fethanz-code%2Fshort-video-extractor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fethanz-code%2Fshort-video-extractor/lists"}