Quantcast
Channel: foreach | Operating systems, scripting, PowerShell and security | jesusninoc.com
Viewing all articles
Browse latest Browse all 409

Automatizar el recorrido de niveles de un sitio web, obteniendo información de todos los enlaces del sitio y añadir la información creando una clase a un array

$
0
0

#Clase Enlace con información sobre el enlace: URL, tamaño y nivel de recorrido
class Enlace
{ 
    $URL
    $Long
    $Level

    Enlace($URL,$Long,$Level)
    {
        $this.URL=$URL
        $this.Long=$Long
        $this.Level=$Level
    }
}

#Iniciar array
$myArray = @()
$myArray += [Enlace]::new("https://www.jesusninoc.com/",1,1)

#Eliminar el fichero que contiene la expresión que se va a ejecutar
rm .\fichero.txt
"" | Out-File -FilePath fichero.txt -NoNewline

#Crear una función que permite automatizar el recorrido de una web por niveles
$url="https://www.jesusninoc.com/"
function insertar($numeroveces)
{
for($i;$i -lt $numeroveces;$i++){'foreach($links'+($i+1)+' in (Invoke-WebRequest $links'+$i+').Links.href){' | Add-Content -Path fichero.txt -NoNewline}
'if(!$myArray.URL.Contains($links'+$numeroveces+')){$myArray += [Enlace]::new($links'+$numeroveces | Add-Content -Path fichero.txt -NoNewline
',(Invoke-WebRequest $links'+$numeroveces+').RawContentLength,' | Add-Content -Path fichero.txt -NoNewline
$numeroveces | Add-Content -Path fichero.txt -NoNewline
')' | Add-Content -Path fichero.txt -NoNewline
';start-sleep -s 2' | Add-Content -Path fichero.txt -NoNewline
';$links'+$numeroveces | Add-Content -Path fichero.txt -NoNewline
'}' | Add-Content -Path fichero.txt -NoNewline
for($j;$j -lt $numeroveces;$j++){"}" | Add-Content -Path fichero.txt -NoNewline}
}

#Ejecutar la función y leer la información que ha generado la función
insertar(1)
gc .\fichero.txt

#Ejecutar la expresión generada al ejecutar la función que permite automatizar el recorrido de una web por niveles
foreach($links in (Invoke-WebRequest $url).Links.href){Invoke-Expression(gc .\fichero.txt)}

#Ordenar el array por tamaño
$myArray | sort Long

Resultado de la ejecución del script

Ver el contenido del array con la clase Enlace

The post Automatizar el recorrido de niveles de un sitio web, obteniendo información de todos los enlaces del sitio y añadir la información creando una clase a un array appeared first on Scripting and security.


Viewing all articles
Browse latest Browse all 409

Trending Articles