¿Por qué wget no obtiene todas las páginas al reflejar este sitio?

¿Por qué wget no obtiene todas las páginas al reflejar este sitio?

Quiero reflejar el siguiente sitio web por completo:http://tinaztitiz.com

Utilizo el siguiente comando wget:

wget -m http://tinaztitiz.com

El sitio web es un CMS personalizado y contiene muchas páginas que tienen la siguiente forma de URL:

http://tinaztitiz.com/yazi.php?id=943
http://tinaztitiz.com/yazi.php?id=762

Curiosamente, wget obtiene algunas de estas páginas pero no todas. Me pregunto cuál podría ser la razón de esto.

Nota: No hay restricciones debido al archivo robots.txt.

Actualizar:

Al observar el código fuente del sitio web, noté que las páginas que wget no detecta ni rastrea tienen una propiedad común. Sus URL de anclaje están escritas mediante la siguiente función de JavaScript:

function yazilar()
{
var ab = '</a><br class=\"hide\" />';
var aa = '<a class=' + '\"nav sub\" href=\"kategori.php?id=';
var ac = '';

var arr = new Array();
arr[0] = '12\">'+ac+' Belâgat';
arr[1] = '15\">'+ac+' Bilim ve Teknoloji';
//...
maxi = 14;
for(i=0;i<maxi;i++) {
    a = aa + arr[i] + ab;
    document.writeln(a);
    }
}

Entonces, parece que wget no puede detectar etiquetas de anclaje que se generan dinámicamente.

Respuesta1

Javascript lo procesa el navegador. wgethace exactamente lo que se supone que debe hacer, recuperar el contenido. Los navegadores hacen lo mismo inicialmente. Obtienen el contenido exactamente como lo publicaste anteriormente. Pero luego renderiza la Javascriptpieza y construye los enlaces. wgetNo puedo hacer eso. Entonces, no, no puede obtener enlaces que se generen dinámicamente usando solo wget. Puedes probar algo comofantasmajsaunque.

Respuesta2

Como ya se indicó, wget no puede generar páginas que utilicen código JavaScript del lado del cliente. Si conoce los conceptos básicos de la programación en Python, le recomendaría utilizar la biblioteca de Python.raspadopara rastrear el sitio web, junto conSelenio, que es capaz de utilizar un navegador externo para generar páginas dinámicas. Puedes hacer todo esto con una pequeña cantidad de código Python. ver por ejemplo Colección de fragmentos de código.

información relacionada