Package Exports
- technology-detector-node
- technology-detector-node/driver.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (technology-detector-node) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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 |