Skip to content

g089h515r806/nextcrawler

Repository files navigation

nextcrawler

简介

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目前尚未测试

Node.js版本

我们使用的是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 并确保全局可用

具体可以参考两个工具的官方文档。如果你不需要下载视频,则无需安装.

视频教程

作者录制了相关的视频教程,放在了抖音上

About

Next Crawler 是使用Playwright + Next.js + Prisma等主流技术搭建的网页数据采集器,通过可视化的UI进行配置,即可周期性的通过Playwright驱动浏览器爬取网页数据。

Topics

Resources

License

Stars

50 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors