Next Crawler 是使用Playwright + Next.js + Prisma等主流技术搭建的网页数据采集器,通过可视化的UI进行配置,即可周期性的通过Playwright驱动浏览器爬取网页数据。内置支持
- 使用mozilla/readability智能识别网页正文;
- 可配置的正文图片自动下载功能;
- 可以选择的文件下载功能,支持PDF、MP3、MP4、等多种格式;
- 可以配置的多字段解析;
- 可以配置的Playwright基本动作;
- 支持定时任务,并且可以配置周期采集数量;
- 支持采集模板,并且支持导入导出;
- 支持代理;
- 支持错误日志;
- 可选的基本用户认证管理;
- 支持浏览器持久化上下文(完全真实浏览器);
- 支持采集评论;
- 支持批量导入、导出种子,支持导出种子的条目数据,采用excel格式。
- 内置支持yt-dlp,videodl两个视频下载工具,可以下载海量视频资源,如YouTube,抖音,快手,小红书,B站,TikTok,优酷,爱奇艺等等
目前我们默认支持的是MYSQL,我们使用JSON字段存储任意数据,所以需要MYSQL最低版本5.7。MYSQL的安装请参考官方文档。
- Pgsql、sqlite目前尚未测试
我们使用的是react19,next.js16。最低Node版本20.9.
(1),下载了源代码以后,使用npm 命令安装依赖
- npm install
(2),Playwright包安装以后,需要执行特有的安装步骤,用来安装下载使用的浏览器。
- npx playwright install
(3), Prisma 数据库安装好了以后,启动数据库;请修改.env文件中的数据库连接信息,设置正确的数据库连接设置正确。
- DATABASE_URL="mysql://root:root@localhost:3306/nextcrawler"
创建对应的数据库:
- create database nextcrawler;
自1.0-beta5版本以后,prisma升级到了7.x,需要生成客户端代码, 请确保tsc命令可用(npm install -g typescript)
- npm run generateClient
- 或者 npx prisma generate && tsc --project tsconfig.prisma.json
数据库初始化:
- npx prisma migrate dev --name init
完成了上述操作,就可以使用
- npm run dev
启动系统了。 如果上面操作顺利,正常情况下,访问 http://localhost:3000/, 进入管理界面
普通MP4视频是可以直接使用fetch保存到本地。对于专门视频网站的视频下载,我们内置支持了两个视频下载工具:
前者支持大部分国际主流视频网站,后者对于中文视频网站提供了良好的支持。根据需要可有选择的安装它们,确保对应命令可用。
- 安装python
- pip install -U "yt-dlp[default]"
- pip install videofetch
- 安装ffmpeg 并确保全局可用
具体可以参考两个工具的官方文档。如果你不需要下载视频,则无需安装.
作者录制了相关的视频教程,放在了抖音上
