Przejdź do treści głównej

Korzystanie z TypeScript

Użycie TypeScript ułatwia tworzenie niestandardowych scraperów, zapewniając automatyczne podświetlanie metod i właściwości, a także sprawdzanie typów:

typescript

Zalecamy używanie edytora Visual Studio Code do tworzenia i edytowania scraperów

Zainstaluj bibliotekę typów A-Parser:

cd files/
npm install a-parser-types

A-Parser automatycznie tworzy bazowy plik konfiguracyjny TypeScript, jeśli go brakuje:

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

Utwórz plik scrapera:

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

Użyj tego szablonu, aby rozpocząć tworzenie:

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;
}
}
notatka

A-Parser automatycznie skompiluje pliki .ts do .js przed uruchomieniem scrapera

Różnice względem API v1

  • Generatory zostały zastąpione przez async/await
  • Pola defaultConf i editableConf stały się static
  • Klasa scrapera musi dziedziczyć po BaseParser
  • TypeScript może być używany opcjonalnie, zalecamy używanie go domyślnie dla podświetlania dostępnych metod i parametrów