UNPKG

quickscraper-sdk

Version:
115 lines (114 loc) 3.77 kB
/// <reference types="node" /> export interface IQuickScraperMetadata { quotaMax: string | undefined; quotaRemaining: string | undefined; } export interface IQuickScraperResponse { data: string; metadata: IQuickScraperMetadata; } export interface IParseOptions { premium?: boolean; render?: boolean; isKeepHeaders?: boolean; country_code?: string; session_number?: string; format?: string; headers?: { [key: string]: string; }; device_type?: string; parserSubscriptionId?: string; webhookRequestId?: string; customSelectors?: IActions[]; formData?: IFormData; keepSelection?: boolean; isScroll?: boolean; scrollTimeout?: number; isKeepFormDataSelection?: boolean; isPabbly?: boolean; isZapier?: boolean; dynamicInputs?: Partial<IDynamicInputs>[]; parserResponseType?: string; customRequestHeaders?: any; } declare type ParsedUrlQueryInput = NodeJS.Dict<string | number | boolean | Array<any> | any | ReadonlyArray<string> | ReadonlyArray<number> | ReadonlyArray<boolean> | null>; export interface IUrlOptions extends ParsedUrlQueryInput { URL?: string; access_token?: string; render?: boolean; keep_headers?: boolean; session_number?: string; country_code?: string; premium?: boolean; device_type?: string; customSelectors?: IActions[]; formData?: IFormData; keepSelection?: boolean; isScroll?: boolean; scrollTimeout?: number; isKeepFormDataSelection?: boolean; isPabbly?: boolean; isZapier?: boolean; dynamicInputs?: Partial<IDynamicInputs>[]; parserResponseType?: string; } export interface IAccountInfo { allocatedCredits: number; remainingCredits: number; usedCredits: number; successRequests: number; failedRequests: number; allowedConcurrentRequests: number; currentConcurrentRequests: number; subscriptionExpiryDate: unknown; } export interface IActions { name: string; selectorScript: string; isScript: boolean; options?: string | null; } export interface IFormField { isScript?: boolean; selectorScript?: string; value?: string; } export interface IFormData { formSelector?: string; submitButtonSelector?: string; formSelectorScript?: string; submitButtonSelectorScript?: string; formFields: IFormField[]; } export interface IDynamicInputs { name: string; value: string; } export declare class QuickScraper { private parseUrl; private accountUrl; private accessToken; private DEFAULT; constructor(accessToken?: string); setHost(host: string): void; setAccessToken(accessToken: string): void; private getContent; private postContent; getHtml(url: string, parseOptions?: IParseOptions): Promise<IQuickScraperResponse>; writeHtmlToFile(url: string, filePath: string, parseOptions?: IParseOptions): Promise<IQuickScraperResponse>; private writeCSVFile; private getAllImagesInZip; private writeDOCXFile; getJsonUsingParser(url: string, parseOptions?: IParseOptions): Promise<IQuickScraperResponse>; getCsvUsingParser(url: string, filePath: string, parseOptions?: IParseOptions): Promise<IQuickScraperResponse>; getExcelUsingParser(url: string, filePath: string, parseOptions?: IParseOptions): Promise<IQuickScraperResponse>; post(url: string, parseOptions?: IParseOptions): Promise<IQuickScraperResponse>; private put; account(): Promise<IAccountInfo>; private prepareRequestBodyOrUrl; private prepareHeaders; executeJsonParser(url: string, parseOptions?: IParseOptions): Promise<IQuickScraperResponse>; getData(url: string, parseOptions?: IParseOptions): Promise<IQuickScraperResponse>; } export {};