technology-detector-node
v1.0.3
Published
Identify technology on websites
Downloads
11
Maintainers
Readme
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).
| Event | Parameters | Description |
|-------------|--------------------------------|------------------------------------------|
| log
| message
, source
| Debug messages |
| error
| message
, source
| Error messages |
| request
| page
, request
| Emitted at the start of a request |
| response
| page
, request
| Emitted upon receiving a server response |
| goto
| page
, url
, html
, cookies
, scriptsSrc
, scripts
, meta
, js
, language
links
| Emitted after a page has been analysed |
| analyze
| urls
, technologies
, meta
| Emitted when the site has been analysed |