neoss
Version:
<div align="center"> <h1>neoss</h1> <i>Socket statistics, with a UI.</i> </div> <p align="center"> <a href="https://img.shields.io/github/v/release/pablolec/neoss" target="_blank"> <img src="https://img.shields.io/github/v/release/pablolec/neo
36 lines (29 loc) • 1.05 kB
JavaScript
const request = require("request");
const cheerio = require("cheerio");
const fs = require("fs");
async function scrap() {
const url = "http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml";
var customHeaderRequest = await request.defaults({
headers: { "User-Agent": "neoss" },
});
var result = {};
console.log("Scraping started.");
customHeaderRequest(url, function (error, response, html) {
if (!error && response.statusCode == 200) {
var $ = cheerio.load(html, {
xmlMode: true,
});
$("registry > record").each((index, element) => {
let port = $(element).find("number").text();
let description = $(element).find("description").text();
if (port.length > 0 && description != "Unassigned" && description != "" && description != "Reserved") {
result[port] = description;
}
});
let data = JSON.stringify(result);
fs.writeFileSync("ports.json", data);
console.log("File saved.");
}
});
}
scrap();