1
0
Code Pull Requests Projects Releases Activity GitHub Gitee
牛客网 面试宝典爬取脚本
Go to file
2022-08-19 14:19:07 +08:00
output add html to pdf 2022-08-16 14:47:29 +08:00
.gitignore add html to pdf 2022-08-16 14:47:29 +08:00
main.js 去除多余输出信息 2022-08-19 14:19:07 +08:00
package-lock.json init 2022-08-16 14:34:17 +08:00
package.json init 2022-08-16 14:34:17 +08:00
README.md README添加仅供学习研究使用 2022-08-17 13:49:59 +08:00

牛客网 面试宝典爬取工具

项目简介

可以爬取牛客网 面经汇总 页面下面试宝典部分教程(如:Java工程师面试宝典),并且转换成 pdf 文件,方便打印出来学习。

【注意】本项目仅用于学习、研究使用不得使用项目代码从事任何侵权或违法的行为请与下载后48小时之内删除。

项目开发

  • 项目使用nodejs开发

  • 项目使用 wkhtmltopdf 将爬取到的 html 转换为 pdf 文件,所以如果您需要生成 pdf 文件,需要安装一下。

项目使用

首先克隆仓库,并进入项目目录

git clone https://git.only4.work/coder-xiaomo/nowcoder-bible
cd nowcoder-bible

然后通过 npm 安装依赖

npm i

修改 main.js 代码

(1) 指定需要爬取的教程id

例如我们现在需要爬取这篇教程:https://www.nowcoder.com/issue/tutorial?tutorialId=94&uuid=ea1986fcff294f6292385703e94689e8

那么我们找到链接中的 tutorialId (例如上面的链接就是 94

并修改 main() 方法中的 urlContent 地址最后的序号为上面链接中的 tutorialId,例如:

let urlContent = "https://www.nowcoder.com/content/tutorial/catalog/94";

(2) 如果您只需要爬取 html 文件而无需转换为 pdf那么请注释掉 getDetail() 方法中的如下行:

await transferToPDF(/* ****** */);

否则,请安装 wkhtmltopdf

(3) 如果您已经爬取了 html需要将其转换为 pdf那么请修改代码最后的调用函数main() 改为 transferHTMLToPDF()),如下:

// 爬取 + 转换为pdf
// main();

// 已经爬取过只需要转pdf
transferHTMLToPDF();

在项目文件夹下,运行如下命令以启动

node main.js

等待爬取完成,完成后文件将会保存在 output/htmloutput/pdf 文件夹下。