Por que o wget não obtém todas as páginas ao espelhar este site

Por que o wget não obtém todas as páginas ao espelhar este site

Quero espelhar completamente o seguinte site:http://tinaztitiz.com

Eu uso o seguinte comando wget:

wget -m http://tinaztitiz.com

O site é um CMS personalizado e contém muitas páginas com o seguinte formato de URL:

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

Estranhamente, o wget obtém algumas dessas páginas, mas não todas. Eu me pergunto qual pode ser a razão para isso?

Observação: não há restrição devido ao robots.txt.

Atualizar:

Observando o código-fonte do site, percebi que as páginas que não são detectadas e rastreadas pelo wget possuem uma propriedade comum. Seus URLs âncora são escritos pela seguinte função 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);
    }
}

Portanto, parece que o wget não consegue detectar tags âncora geradas dinamicamente.

Responder1

Javascript é renderizado pelo navegador. wgetfaz exatamente o que deveria fazer, buscando o conteúdo. Os navegadores fazem a mesma coisa inicialmente. Eles obtêm o conteúdo exatamente como você postou acima. Mas então ele renderiza a Javascriptpeça e constrói os links. wgetnão posso fazer isso. Então não, você não pode obter links gerados dinamicamente, usando apenas o wget. Você pode tentar algo comoFantasma JSno entanto.

Responder2

Como já foi dito, o wget não é capaz de gerar páginas que usem código JavaScript do lado do cliente. Se você conhece o básico da programação Python, recomendo usar a biblioteca PythonRasgadopara rastrear o site, juntamente comSelênio, que é capaz de usar um navegador externo para gerar páginas dinâmicas. Você pode fazer tudo isso com uma pequena quantidade de código Python. Veja por exemplo Coleção de trechos de código.

informação relacionada