1.0.3 • Published 6 months ago

technology-detector-node v1.0.3

Weekly downloads
-
License
MIT
Repository
-
Last release
6 months ago

technology-detector-node

technology-detector-node indentifies technologies on websites.

Installation

$ npm i technology-detector-node

Usage

const Detector = require('technology-detector-node')

const url = 'https://www.example.com'

const options = {
  debug: false,
  delay: 500,
  headers: {},
  maxDepth: 3,
  maxUrls: 10,
  maxWait: 5000,
  recursive: true,
  probe: true,
  proxy: false,
  userAgent: 'Wappalyzer',
  htmlMaxCols: 2000,
  htmlMaxRows: 2000,
  noScripts: false,
  noRedirect: false,
};

const detector = new Detector(options)

;(async function() {
  try {
    await detector.init()

    // Optionally set additional request headers
    const headers = {}

    // Optionally set local and/or session storage
    const storage = {
      local: {},
      session: {}
    }

    const site = await detector.open(url, headers, storage)

    // Optionally capture and output errors
    site.on('error', console.error)

    const results = await site.analyze()

    console.log(JSON.stringify(results, null, 2))
  } catch (error) {
    console.error(error)
  }

  await detector.destroy()
})()

Multiple URLs can be processed in parallel:

const Detector = require('technology-detector-node');

const urls = ['https://www.example.com', 'https://www.example_2.com']

const detector = new Detector();
(async function() {
  try {
    await detector.init()

    const results = await Promise.all(
      urls.map(async (url) => {
        const site = await detector.open(url)

        const results = await site.analyze()

        return { url, results }
      })
    )

    console.log(JSON.stringify(results, null, 2))
  } catch (error) {
    console.error(error)
  }

  await detector.destroy()
})()

Events

Listen to events with site.on(eventName, callback). Use the page parameter to access the Puppeteer page instance (reference).

EventParametersDescription
logmessage, sourceDebug messages
errormessage, sourceError messages
requestpage, requestEmitted at the start of a request
responsepage, requestEmitted upon receiving a server response
gotopage, url, html, cookies, scriptsSrc, scripts, meta, js, language linksEmitted after a page has been analysed
analyzeurls, technologies, metaEmitted when the site has been analysed
1.0.2

6 months ago

1.0.1

6 months ago

1.0.3

6 months ago

1.0.0

6 months ago