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. wget
faz 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 Javascript
peça e constrói os links. wget
nã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.