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 |