É possível. Sugiro que você forneça ao seu script credenciais de login e leia a página que exibe as informações. Então você pode analisar o conteúdo e preencher uma matriz com os dados que deseja. Como essas páginas às vezes contêm mais informações, como datas e horas, você pode criar um registro muito bom.
Aqui está um exemplo rápido de como eu iria proceder;
Na página do seu roteador, você pode encontrar algo como o seguinte;
<div id="flex">
<div id="dm-name">
name : Your_device_name
</div>
<div id="dm-ip">
IP : 192.168.x.xxx
</div>
<div id="dm-mac">
<span>MAC:D4:04:CD:FE:5A:17</span>
</div>
</div>
Portanto, sabemos que todos os dispositivos serão listados dessa maneira. E que todos os endereços MAC terão o mesmo comprimento.
O script pode ser algo assim;
var string_to_parse = "file read from router.html";
cursor = 0; // The position of your cursor;
i =0;
while(cursor > 0){
begin_at = string_to_parse.indeOf('MAC:');
end_at = length_of_Mac; // this is standard for al mac
mac[i] = string_to_parse.substring(begin_at, begin_at + end_at);
cursor = begin_at + end_at;
i++;
}
Esse código precisará de ajustes, mas a ideia está aí. É um loop que executa todo o arquivo para encontrar todos os endereços do Mac. até chegar ao final do arquivo.