跳转到主要内容

使用 TypeScript

使用 TypeScript 能够通过提供方法和属性的自动补全以及类型检查来简化开发:

typescript

我们推荐使用 Visual Studio Code 编辑器来创建和编辑爬虫工具

安装 A-Parser 类型库:

cd files/
npm install a-parser-types

如果不存在 TypeScript 基础配置文件,A-Parser 会自动创建它:

files/tsconfig.json
{
"compilerOptions": {
"target": "esnext",
"moduleResolution": "node",
"module": "commonjs",
"sourceMap": true,
"baseUrl": ".",
"paths": {
"*": ["node_modules/*", "../dist/nodejs/node_modules/*"]
}
},
"include": ["**/*.ts"]
}

创建爬虫工具文件:

mkdir files/parsers/Awesome-Parser/
touch files/parsers/Awesome-Parser/Awesome-Parser.ts

使用此模板开始开发:

files/parsers/Awesome-Parser/Awesome-Parser.ts
import { BaseParser } from 'a-parser-types';

export class JS_Awesome_Parser extends BaseParser {
static defaultConf: typeof BaseParser.defaultConf = {
version: '0.0.1',
results: {
flat: [
['title', 'Title'],
],
arrays: {
}
},
results_format: "Title: $title\n",
};

static editableConf: typeof BaseParser.editableConf = [
];

async parse(set, results) {
...

return results;
}
}
备注

A-Parser 会在运行爬虫工具前自动将 .ts 文件编译为 .js

与 API v1 的区别

  • 生成器(Generators)被替换为 async/await
  • defaultConfeditableConf 字段变为 static(静态)
  • 爬虫工具类必须继承自 BaseParser
  • TypeScript 为可选使用,但我们建议默认使用它,以便获得可用方法和参数的语法提示