1
0
Code Pull Requests Projects Releases Activity GitHub Gitee

更新README

This commit is contained in:
kevinbzhang 2022-08-17 13:42:07 +08:00
parent e1c4836bfd
commit 9d95bc2e56
2 changed files with 42 additions and 15 deletions

View File

@ -2,28 +2,24 @@
### 项目简介
项目使用nodejs开发
可以爬取牛客网 [面经汇总](https://www.nowcoder.com/interview/center) 页面下**面试宝典**部分教程(如:[Java工程师面试宝典](https://www.nowcoder.com/issue/tutorial?tutorialId=94)),并且转换成 pdf 文件,方便打印出来学习。
可以爬取牛客网 面经汇总 > 面试宝典 部分教程https://www.nowcoder.com/interview/center?parentJobId=0
例如https://m.nowcoder.com/tutorial/94/ea1986fcff294f6292385703e94689e8
### 项目开发
- 项目使用nodejs开发
- 项目使用 [wkhtmltopdf](https://wkhtmltopdf.org/) 将爬取到的 html 转换为 pdf 文件,所以如果您需要生成 pdf 文件,需要安装一下。
### 项目使用
> 项目使用 wkhtmltopdf 将爬取到的 html 转换为 pdf 文件,所以如果您需要生成 pdf文件需要安装一下下载地址
>
> https://wkhtmltopdf.org/
首先克隆仓库,并进入项目目录
```bash
git clone xxxxx
cd
git clone https://git.only4.work/coder-xiaomo/nowcoder-bible
cd nowcoder-bible
```
然后使用安装依赖
然后通过 npm 安装依赖
```bash
npm i
@ -31,11 +27,42 @@ npm i
修改 `main.js` 代码
运行
(1) 指定需要爬取的教程id
例如我们现在需要爬取这篇教程https://www.nowcoder.com/issue/tutorial?tutorialId=94&uuid=ea1986fcff294f6292385703e94689e8
那么我们找到链接中的 `tutorialId` (例如上面的链接就是 `94`
并修改 `main()` 方法中的 `urlContent` 地址最后的序号为上面链接中的 `tutorialId`,例如:
```javascript
let urlContent = "https://www.nowcoder.com/content/tutorial/catalog/94";
```
(2) 如果您只需要爬取 html 文件而无需转换为 pdf那么请注释掉 `getDetail()` 方法中的如下行:
```javascript
await transferToPDF(/* ****** */);
```
否则,请安装 wkhtmltopdf
(3) 如果您已经爬取了 html需要将其转换为 pdf那么请修改代码最后的调用函数`main()` 改为 `transferHTMLToPDF()`),如下:
```javascript
// 爬取 + 转换为pdf
// main();
// 已经爬取过只需要转pdf
transferHTMLToPDF();
```
在项目文件夹下,运行如下命令以启动
```bash
node main.js
```
完成!
等待爬取完成,完成后文件将会保存在 `output/html``output/pdf` 文件夹下。

View File

@ -116,10 +116,10 @@ async function transferHTMLToPDF() {
}
// 爬取 + 转换为pdf
// main();
main();
// 已经爬取过只需要转pdf
transferHTMLToPDF();
// transferHTMLToPDF();
// 测试调试用
// transferToPDF(`./output/html/8.3 操作系统(三).html`, `./output/test.pdf`)