diff --git a/packages/search/dist-in/lib/email.d.ts b/packages/search/dist-in/lib/email.d.ts index 36aebb1c..db270ed9 100644 --- a/packages/search/dist-in/lib/email.d.ts +++ b/packages/search/dist-in/lib/email.d.ts @@ -1,5 +1,5 @@ import { MappingDocumentTransformer, Document } from "@langchain/core/documents"; -import { LocalResult } from './map_types.js'; +import { LocalResult, Page } from './map_types.js'; export declare class HtmlToTextTransformer extends MappingDocumentTransformer { static lc_name(): string; constructor(options?: {}); @@ -14,3 +14,8 @@ export declare const findEMail: (question: string, url: string, opts: { searchFrom?: string; [key: string]: any; }, location: LocalResult) => Promise; +export declare const findEmailEach: (location: LocalResult, opts: { + headless?: boolean; + searchFrom?: string; + [key: string]: any; +}, onProgress?: (page: Page) => Promise) => Promise; diff --git a/packages/search/dist-in/lib/email.js b/packages/search/dist-in/lib/email.js index 7fc2ea2a..4665ae34 100644 --- a/packages/search/dist-in/lib/email.js +++ b/packages/search/dist-in/lib/email.js @@ -49,7 +49,7 @@ export const puppeteerLoader = async (url, headless, location) => { ignoreHTTPSErrors: true }, gotoOptions: { - timeout: 5000, + timeout: 15000, waitUntil: "networkidle0", }, async evaluate(page, browser) { @@ -75,10 +75,18 @@ export const puppeteerLoader = async (url, headless, location) => { const extractEmailAddresses = (text) => { const lines = text.split(/\r?\n/); const emailAddresses = []; + const imageExtensions = ['.png', '.jpg', '.jpeg', '.gif', '.webp', '.svg', '.bmp', '.ico', '.tiff', '.avif']; for (const line of lines) { const matches = line.match(emailRegex); if (matches) { - emailAddresses.push(...matches); + for (const match of matches) { + // Filter out image filenames often found in srcset (e.g. image@2x.png) + const lowerMatch = match.toLowerCase(); + const isImage = imageExtensions.some(ext => lowerMatch.endsWith(ext)); + if (!isImage) { + emailAddresses.push(match); + } + } } } return emailAddresses; @@ -90,9 +98,6 @@ export const findEMail = async (question, url, opts, location) => { return false; } let pageUrl = url; - if (location.meta && location.meta.links && location.meta.links.length) { - pageUrl = location.meta.links[0]; - } let docs = await puppeteerLoader(pageUrl, opts.headless, location); let emails = []; docs.forEach((d) => { @@ -111,4 +116,41 @@ export const findEMail = async (question, url, opts, location) => { location.email && logger.debug(`Found email for ${url} / ${location.title} : ${location.type} : ${location.email} : ${opts.searchFrom}`); return emails; }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2VtYWlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDcEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDN0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDeEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFFaEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUV0QyxNQUFNLFVBQVUsR0FBRyxpREFBaUQsQ0FBQTtBQUNwRSxNQUFNLFdBQVcsR0FBRyxzQ0FBc0MsQ0FBQTtBQUUxRCxPQUFPLEVBQUUsc0JBQXNCLElBQUksTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRWhFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSwwQkFBMEI7SUFDakUsTUFBTSxDQUFDLE9BQU87UUFDVixPQUFPLHVCQUF1QixDQUFBO0lBQ2xDLENBQUM7SUFDRCxZQUFZLE9BQU8sR0FBRyxFQUFFO1FBQ3BCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNuQyxVQUFVLEVBQUUsSUFBSTtZQUNoQixZQUFZLEVBQUUsSUFBSTtZQUNsQixRQUFRLEVBQUUsSUFBSTtZQUNkLEtBQUssRUFBRSxPQUFPO1NBQ2pCLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFDRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsUUFBa0I7UUFDdkMsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENB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 \ No newline at end of file +export const findEmailEach = async (location, opts, onProgress) => { + if (!location.meta || !location.meta.pages) { + return []; + } + const emails = []; + for (const page of location.meta.pages) { + if (page.status !== 'PENDING') { + continue; + } + page.status = 'SEARCHING_EMAIL'; + try { + logger.info(`Scraping email from ${page.url}`); + const pageEmails = await findEMail('find email', page.url, opts, location); + if (pageEmails && Array.isArray(pageEmails)) { + emails.push(...pageEmails); + } + page.status = 'SEARCHED_EMAIL'; + } + catch (error) { + page.status = 'FAILED'; + page.error = error.message; + logger.error(`Error scraping email from ${page.url}:`, error); + } + if (onProgress) { + await onProgress(page); + } + } + // Update location emails + if (emails.length > 0) { + const uniqueEmails = [...new Set([...(location.emails || []), ...emails])]; + location.emails = uniqueEmails; + if (uniqueEmails.length > 0) { + location.email = uniqueEmails[0]; + } + } + return emails; +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2VtYWlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDcEMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0NBQXdDLENBQUE7QUFDN0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDeEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUN6QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFFaEYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUV0QyxNQUFNLFVBQVUsR0FBRyxpREFBaUQsQ0FBQTtBQUNwRSxNQUFNLFdBQVcsR0FBRyxzQ0FBc0MsQ0FBQTtBQUUxRCxPQUFPLEVBQUUsc0JBQXNCLElBQUksTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRWhFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSwwQkFBMEI7SUFDakUsTUFBTSxDQUFDLE9BQU87UUFDVixPQUFPLHVCQUF1QixDQUFBO0lBQ2xDLENBQUM7SUFDRCxZQUFZLE9BQU8sR0FBRyxFQUFFO1FBQ3BCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNuQyxVQUFVLEVBQUUsSUFBSTtZQUNoQixZQUFZLEVBQUUsSUFBSTtZQUNsQixRQUFRLEVBQUUsSUFBSTtZQUNkLEtBQUssRUFBRSxPQUFPO1NBQ2pCLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFDRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsUUFBa0I7UUFDdkMsTUFBTSxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENB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 \ No newline at end of file diff --git a/packages/search/dist-in/lib/googlemaps-zod.d.ts b/packages/search/dist-in/lib/googlemaps-zod.d.ts index 5796d879..de4d5330 100644 --- a/packages/search/dist-in/lib/googlemaps-zod.d.ts +++ b/packages/search/dist-in/lib/googlemaps-zod.d.ts @@ -33,8 +33,8 @@ export declare const zodSchemaBase: () => z.ZodObject<{ source: z.ZodOptional>]>>; type: z.ZodDefault>; zoom: z.ZodDefault>; - index: z.ZodDefault; - store: z.ZodDefault; + index: z.ZodOptional; + store: z.ZodOptional; variables: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ api_key: z.ZodOptional; @@ -66,8 +66,8 @@ export declare const zodSchemaBase: () => z.ZodObject<{ source: z.ZodOptional>]>>; type: z.ZodDefault>; zoom: z.ZodDefault>; - index: z.ZodDefault; - store: z.ZodDefault; + index: z.ZodOptional; + store: z.ZodOptional; variables: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ api_key: z.ZodOptional; @@ -99,8 +99,8 @@ export declare const zodSchemaBase: () => z.ZodObject<{ source: z.ZodOptional>]>>; type: z.ZodDefault>; zoom: z.ZodDefault>; - index: z.ZodDefault; - store: z.ZodDefault; + index: z.ZodOptional; + store: z.ZodOptional; variables: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; export declare const zodSchema: () => z.ZodEffects z.ZodEffects>]>>; type: z.ZodDefault>; zoom: z.ZodDefault>; - index: z.ZodDefault; - store: z.ZodDefault; + index: z.ZodOptional; + store: z.ZodOptional; variables: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ api_key: z.ZodOptional; @@ -166,8 +166,8 @@ export declare const zodSchema: () => z.ZodEffects>]>>; type: z.ZodDefault>; zoom: z.ZodDefault>; - index: z.ZodDefault; - store: z.ZodDefault; + index: z.ZodOptional; + store: z.ZodOptional; variables: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ api_key: z.ZodOptional; @@ -199,8 +199,8 @@ export declare const zodSchema: () => z.ZodEffects>]>>; type: z.ZodDefault>; zoom: z.ZodDefault>; - index: z.ZodDefault; - store: z.ZodDefault; + index: z.ZodOptional; + store: z.ZodOptional; variables: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>, z.objectOutputType<{ api_key: z.ZodOptional; @@ -232,8 +232,8 @@ export declare const zodSchema: () => z.ZodEffects>]>>; type: z.ZodDefault>; zoom: z.ZodDefault>; - index: z.ZodDefault; - store: z.ZodDefault; + index: z.ZodOptional; + store: z.ZodOptional; variables: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ api_key: z.ZodOptional; @@ -265,8 +265,8 @@ export declare const zodSchema: () => z.ZodEffects>]>>; type: z.ZodDefault>; zoom: z.ZodDefault>; - index: z.ZodDefault; - store: z.ZodDefault; + index: z.ZodOptional; + store: z.ZodOptional; variables: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; export declare const zodSchemaEachExtras: () => z.ZodObject<{ @@ -329,8 +329,8 @@ export declare const zodSchemaEach: () => z.ZodEffects>]>>; type: z.ZodDefault>; zoom: z.ZodDefault>; - index: z.ZodDefault; - store: z.ZodDefault; + index: z.ZodOptional; + store: z.ZodOptional; variables: z.ZodOptional; } & { logLevel: z.ZodDefault; diff --git a/packages/search/dist-in/lib/googlemaps-zod.js b/packages/search/dist-in/lib/googlemaps-zod.js index ea5e6c3b..eb4863fd 100644 --- a/packages/search/dist-in/lib/googlemaps-zod.js +++ b/packages/search/dist-in/lib/googlemaps-zod.js @@ -4,26 +4,6 @@ export var ResolveFlags; (function (ResolveFlags) { ResolveFlags["PHOTOS"] = "PHOTOS"; })(ResolveFlags || (ResolveFlags = {})); -const o = { - query: "plastichub", - engine: "google_maps", - type: "search", - q: "plastichub", - ll: "@41.6911354,2.1652746,13z", - google_domain: "google.es", - hl: "en", - searchFrom: "barcelona, spain", - api_key: "517879d08bd8f13df9c4265c42aea8cfe960942f3a10e8774bbec11becbfb687", - geocode_key: "65bcf01943459613018206nmi9830a9", - openai: { - key: "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", - "key-p": "sk-x9O7hWAAeDCdX6HVyv49R2NV7JhFjGhUj7gG5szBoBT3BlbkFJfzB9Mo7j8Yl3xevSgeoSR-GXpftEevoS4ybwJrcWsA", - }, - headless: false, - bigdata: { - key: "bdc_26a67478a1f1492faf5cec9c498da553", - }, -}; // Base schema without transformation - allows merging export const zodSchemaBase = () => z.object({ api_key: z.string().optional().describe('API Key'), @@ -49,7 +29,7 @@ export const zodSchemaBase = () => z.object({ language: z.string().default('en'), limit: z.number().default(5), logLevel: z.string().default('info'), - meta: z.boolean().default(true), + meta: z.boolean().default(false), searchCache: z.boolean().default(false).describe('Use search cache'), query: z.string().default('plastichub'), resolve: z.array(z.nativeEnum(ResolveFlags)).default([ResolveFlags.PHOTOS]).optional(), @@ -58,8 +38,10 @@ export const zodSchemaBase = () => z.object({ source: z.union([z.string(), z.record(z.string(), z.array(z.string()))]).optional(), type: z.string().optional().default('search'), zoom: z.number().optional().default(13), - index: z.string().default('${OSR_ROOT}/osr-directory/meta/index.json').describe('Index file'), - store: z.string().default('${OSR_ROOT}/osr-directory/meta/index.db').describe('Index store'), + //index: z.string().optional().default('${OSR_ROOT}/osr-directory/meta/index.json').describe('Index file'), + //store: z.string().optional().default('${OSR_ROOT}/osr-directory/meta/index.db').describe('Index store'), + index: z.string().optional().describe('Index file'), + store: z.string().optional().describe('Index store'), variables: z.any().optional(), }) .passthrough(); @@ -158,4 +140,4 @@ export const meta_schema = z.object({ "@context": z.string() })) }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlbWFwcy16b2QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2dvb2dsZW1hcHMtem9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUE7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRTNDLE1BQU0sQ0FBTixJQUFZLFlBRVg7QUFGRCxXQUFZLFlBQVk7SUFDcEIsaUNBQWlCLENBQUE7QUFDckIsQ0FBQyxFQUZXLFlBQVksS0FBWixZQUFZLFFBRXZCO0FBRUQsTUFBTSxDQUFDLEdBQUc7SUFDTixLQUFLLEVBQUUsWUFBWTtJQUNuQixNQUFNLEVBQUUsYUFBYTtJQUNyQixJQUFJLEVBQUUsUUFBUTtJQUNkLENBQUMsRUFBRSxZQUFZO0lBQ2YsRUFBRSxFQUFFLDJCQUEyQjtJQUMvQixhQUFhLEVBQUUsV0FBVztJQUMxQixFQUFFLEVBQUUsSUFBSTtJQUNSLFVBQVUsRUFBRSxrQkFBa0I7SUFDOUIsT0FBTyxFQUFFLGtFQUFrRTtJQUMzRSxXQUFXLEVBQUUsaUNBQWlDO0lBQzlDLE1BQU0sRUFBRTtRQUNKLEdBQUcsRUFBRSxzS0FBc0s7UUFDM0ssT0FBTyxFQUFFLGlHQUFpRztLQUM3RztJQUNELFFBQVEsRUFBRSxLQUFLO0lBQ2YsT0FBTyxFQUFFO1FBQ0wsR0FBRyxFQUFFLHNDQUFzQztLQUM5QztDQUNKLENBQUE7QUFFRCxzREFBc0Q7QUFDdEQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEdBQUcsRUFBRSxDQUM5QixDQUFDLENBQUMsTUFBTSxDQUNKO0lBQ0ksT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO0lBQ2xELFNBQVMsRUFBRSxDQUFDO1NBQ1AsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNqQixP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 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlbWFwcy16b2QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2dvb2dsZW1hcHMtem9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUE7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRTNDLE1BQU0sQ0FBTixJQUFZLFlBRVg7QUFGRCxXQUFZLFlBQVk7SUFDcEIsaUNBQWlCLENBQUE7QUFDckIsQ0FBQyxFQUZXLFlBQVksS0FBWixZQUFZLFFBRXZCO0FBR0Qsc0RBQXNEO0FBQ3RELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUUsQ0FDOUIsQ0FBQyxDQUFDLE1BQU0sQ0FDSjtJQUNJLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQztJQUNsRCxTQUFTLEVBQUUsQ0FBQztTQUNQLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDakIsT0FBTyxDQUFDLENBQUMsMkJBQTJCLENBQUMsQ0FBQztTQUN0QyxRQUFRLENBQUMsaURBQWlELENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDM0UsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQ2pDLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztJQUNuRCxXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsNENBQTRDLENBQUM7SUFDekYsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsb0VBQW9FLENB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 \ No newline at end of file diff --git a/packages/search/dist-in/lib/googlemaps.js b/packages/search/dist-in/lib/googlemaps.js index 9ed74503..e7f129c5 100644 --- a/packages/search/dist-in/lib/googlemaps.js +++ b/packages/search/dist-in/lib/googlemaps.js @@ -15,7 +15,7 @@ import pMap from 'p-map'; import { get_cached_object, set_cached_object } from '@polymech/cache/lib'; import { OSR_CACHE } from '@polymech/commons'; import { logger } from '../index.js'; -import { cleanOptions, SearchProviders } from './index.js'; +import { cleanOptions, SearchProviders } from './providers.js'; import { findEMail } from './email.js'; import { defaultEngine, defaultFromLocation, defaultGoogleDomain, defaultLanguage, PAGE_SIZE, SEARCH_AI_PROMPTS } from './constants.js'; import { meta } from './html.js'; @@ -480,4 +480,4 @@ export const each = async (opts) => { opts.log && write(path.resolve(resolve(opts.log)), all); return all; }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlbWFwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvZ29vZ2xlbWFwcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUU1QixPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBWSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDOUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFFMUQsT0FBTyxFQUFFLEtBQUssSUFBSSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUVqRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUUvRCxPQUFPLEVBQ0gsU0FBUyxFQUNULGFBQWEsRUFDYixZQUFZLEVBQ1osZ0JBQWdCLEVBS2hCLFlBQVksR0FDZixNQUFNLHFCQUFxQixDQUFBO0FBQzVCLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFvRyxZQUFZLEVBQUUsQ0FBQTtBQUVuTCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXJDLE9BQU8sRUFBRSxJQUFJLElBQUksS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDbEQsT0FBTyxFQUFFLElBQUksSUFBSSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsSUFBSSxJQUFJLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFZLE1BQU0sMkJBQTJCLENBQUE7QUFDdkUsT0FBTyxJQUFJLE1BQU0sT0FBTyxDQUFBO0FBQ3hCLE9BQU8sRUFBRSxp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 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlbWFwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvZ29vZ2xlbWFwcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUU1QixPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBWSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDOUYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFFMUQsT0FBTyxFQUFFLEtBQUssSUFBSSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUVqRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUUvRCxPQUFPLEVBQ0gsU0FBUyxFQUNULGFBQWEsRUFDYixZQUFZLEVBQ1osZ0JBQWdCLEVBS2hCLFlBQVksR0FDZixNQUFNLHFCQUFxQixDQUFBO0FBQzVCLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFvRyxZQUFZLEVBQUUsQ0FBQTtBQUVuTCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRXJDLE9BQU8sRUFBRSxJQUFJLElBQUksS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDbEQsT0FBTyxFQUFFLElBQUksSUFBSSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsSUFBSSxJQUFJLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3BELE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFZLE1BQU0sMkJBQTJCLENBQUE7QUFDdkUsT0FBTyxJQUFJLE1BQU0sT0FBTyxDQUFBO0FBQ3hCLE9BQU8sRUFBRSxp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 \ No newline at end of file diff --git a/packages/search/dist-in/lib/html.d.ts b/packages/search/dist-in/lib/html.d.ts index 55b90625..8d207887 100644 --- a/packages/search/dist-in/lib/html.d.ts +++ b/packages/search/dist-in/lib/html.d.ts @@ -1,6 +1,5 @@ import { AxiosRequestConfig } from "axios"; -import { Browser } from 'puppeteer'; -import * as puppeteer from 'puppeteer'; +import { Browser, Page } from 'puppeteer'; import { LocalResult, LocationSiteMeta } from './map_types.js'; export declare const STATS_SUFFIX = "_stats.json"; export declare const SESSION_EVENTS_SUFFIX = "_session.json"; @@ -9,13 +8,13 @@ export declare var scope: Scope; export declare const extractEmail: (input: string) => string | null; export declare const meta: (loc: LocalResult, options: any) => Promise; export declare const isValidUrl: (url: string) => boolean; -export declare const parse: (url: string, config: AxiosRequestConfig | null, options: any) => Promise; +export declare const parseHtml: (url: string, config: AxiosRequestConfig | null, options: any) => Promise; export declare const getScope: (cliArgs?: any) => Scope; -export declare function capture_responses(scope: Scope, page: puppeteer.Page): Promise; +export declare function capture_responses(scope: Scope, page: Page): Promise; export declare class Scope { browser: Browser; context: any; - page: puppeteer.Page; + page: Page; args: any; requests: any[]; responses: any[]; diff --git a/packages/search/dist-in/lib/html.js b/packages/search/dist-in/lib/html.js index 861cfd96..eb79a5ca 100644 --- a/packages/search/dist-in/lib/html.js +++ b/packages/search/dist-in/lib/html.js @@ -3,7 +3,10 @@ import axios from "axios"; import * as cheerio from "cheerio"; import * as path from 'path'; import { URL } from 'url'; -import * as puppeteer from 'puppeteer'; +import puppeteerExtra from 'puppeteer-extra'; +import StealthPlugin from 'puppeteer-extra-plugin-stealth'; +const puppeteerExtraAny = puppeteerExtra; +puppeteerExtraAny.use(StealthPlugin()); import { logger } from '../index.js'; export const STATS_SUFFIX = '_stats.json'; export const SESSION_EVENTS_SUFFIX = '_session.json'; @@ -16,11 +19,8 @@ const debugRequests = true; const debugResponses = false; process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; export const extractEmail = (input) => { - // Regular expression to match a typical email format const emailRegex = /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/; - // Use the regex to search for an email in the input string const match = input.match(emailRegex); - // Return the matched email, or null if none is found return match ? match[0] : null; }; export const meta = async (loc, options) => { @@ -32,14 +32,15 @@ export const meta = async (loc, options) => { return; } try { - const _meta = await parse(loc.website, null, options) || {}; + const _meta = await parseHtml(loc.website, null, options) || {}; loc.meta = _meta; - loc.instagram = _meta.instagram; - loc.facebook = _meta.facebook; - loc.youtube = _meta.youtube; - loc.linkedin = _meta.linkedin; - loc.twitter = _meta.twitter; - loc.email = (_meta.allLinks || []).map((l) => extractEmail(l)).filter((e) => e !== null)[0]; + if (_meta.social) { + loc.instagram = _meta.social.find(p => p.source === 'instagram')?.url; + loc.facebook = _meta.social.find(p => p.source === 'facebook')?.url; + loc.youtube = _meta.social.find(p => p.source === 'youtube')?.url; + loc.linkedin = _meta.social.find(p => p.source === 'linkedin')?.url; + loc.twitter = _meta.social.find(p => p.source === 'twitter')?.url; + } return _meta; } catch (error) { @@ -60,20 +61,44 @@ export const isValidUrl = (url) => { const readMetaTags = ($, name) => { return $(`meta[name="${name}"]`).attr('content') || $(`meta[property="${name}"]`).attr('content') || null; }; -export const parse = async (url, config, options) => { +export const parseHtml = async (url, config, options) => { if (!/(^http(s?):\/\/[^\s$.?#].[^\s]*)/i.test(url)) return {}; - const { data } = await axios(url, { - ...config, - httpsAgent: new https.Agent({ - rejectUnauthorized: false - }), - headers: { - 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' - }, - timeout: 10000 - }); - const $ = cheerio.load(data); + let content = ''; + let currentUrl = url; + if (options && options.headless) { + try { + const browser = await puppeteerExtraAny.launch({ headless: true, args: ['--no-sandbox', '--disable-setuid-sandbox'] }); + const page = await browser.newPage(); + await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'); + await page.goto(url, { waitUntil: 'networkidle2', timeout: options.timeout || 30000 }); + content = await page.content(); + currentUrl = page.url(); + await browser.close(); + } + catch (e) { + logger.error(`Puppeteer failed for ${url}: ${e.message}`); + } + } + if (!content) { + try { + const { data } = await axios(url, { + ...config, + httpsAgent: new https.Agent({ rejectUnauthorized: false }), + headers: { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36' + }, + timeout: 10000 + }); + content = data; + } + catch (e) { + logger.error(`Axios failed for ${url}: ${e.message}`); + return {}; + } + } + console.log(`[ParseHtml] Successfully fetched ${url}, content length: ${content.length}`); + const $ = cheerio.load(content); const og = {}; const meta = {}; const images = []; @@ -108,14 +133,11 @@ export const parse = async (url, config, options) => { } } }); - // Array to store JSON-LD data const jsonLdArray = []; - // Select all