Quero baixar um fórum onde só tenho acesso através do meu nome de usuário e senha.
Eu tentei o seguinte:
C:\wget.exe wget -k -m -E -p -np -R viewtopic.php*p=*,memberlist.php*,faq.php*,posting.php*,search.php*,ucp.php*,viewonline.php*,*sid*,*view=print*,*start=0* -o log.txt http://www.myforum1234.com/forum/categories/discussions
Portanto, este é o comando que insiro no meu cmd. Porque quando clico no wget.exe aparece uma janela preta, mas desaparece muito rápido. Mas acho que essa também é a forma correta (eu uso Windows XP)?
Meu problema é que os resultados mostram que o wget não conseguiu baixar o fórum, porque não conseguiu fazer o login. Assim a página de login é mostrada (baixada), mas nada mais. Eu estava logado quando exerci o comando.
Não sou um profissional wget, então não tenho certeza se meu comando está correto. Copiei isso de outro post. Um simples C:\wget.exe wget http://www.theforumurl.com
não funcionou.
EDITAR:
agora eu também tentei
C:\wget.exe wget -k -m -E -p -np -R *start=0* -o log.txt http://www.myforum.com/forum/categories/discussions
Mas o mesmo problema aqui.
2ª EDIÇÃOsobre o link no primeiro comentário:
agora eu tentei
C:\wget.exe wget -k -m -E -p -np -R *start=0* -o log.txt http://www.myforum.com/forum/categories/discussions --post-data="username&password=1234"
Mas novamente, mesmo problema!
Quando passo o mouse sobre o botão de login, vejo o seguinte URL:
http://www.myforum.com/user/popupLogin
Eu tenho que usar este?
3ª EDIÇÃO:
Também tentei adicionar o nome de usuário: senha @ antes de www., assim:
C:\wget.exe wget -k -m -E -p -np -R *start=0* -o log.txt http://user:[email protected]/forum/categories/
O resultado é o mesmo, posso ver que o login não funcionou.
4ª EDIÇÃO:
Eu também tentei de acordo comeste tópico:
C:\wget.exe wget --save-cookies cookies.txt --post-data 'user=usern&password=passw' http://www.myforum.com/user/popupLogin
C:\wget.exe wget --load-cookies cookies.txt -p http://www.myforum.com/forum/categories/
Mas novamente, mesmo problema!!
5ª EDIÇÃO:
Acho que agora isolei o código-fonte do botão de login:
<div class="forumSignup">
<a href="http://www.myforum.com/user/popupLogin" class="Button SignInPopup">Login</a> </div>
6ª EDIÇÃO:
Também tentei com HTTrack, mas o problema é o mesmo: O login não funciona. Outro problema parece ser que o próprio fórum usa a URL www.mywebsite.com/forum, mas o login é necessário para www.mywebsite.com. Então, quando eu uso, por exemplo, algo como nome de usuário:[e-mail protegido]o mywebsite é capturado, mas não o fórum. Quando uso nome de usuário:[e-mail protegido]/forum o login não funciona e nada é capturado.
Responder1
Em primeiro lugar, você faria C:\wget.exe -k -m …
, não repita wget
o nome.
Como o login no fórum parece complicado (pode ficar complexo até mesmo para sites simples), a melhor solução é provavelmente fazer login com seu navegador e depois fornecer os cookies* para o wget (ou colocá-los em um arquivo e usá-los --load-cookies
ou passá-los diretamente com --header "Cookie: name=value"
).
* A forma de extraí-los varia um pouco dependendo do seu navegador.
Responder2
Wget interpreta <pass>@serveraddress
como porta.
Para especificar um nome de usuário e uma senha, use as opções --user
e --password
:
wget --user username --password passw http://...
Responder3
É difícil espelhar um site com login usando wget
. Você precisa de conhecimento especializado para usar wget
. Atualmente você passa nome de usuário e senha, cookies e opções necessárias.
Coisas adicionais para fazer.
1. Evite espelhar até que tudo esteja bem, pois o download recursivo da página força o servidor web a adicionar seu IP à lista negra. (tente salvar uma única página)
2. Falsifique o wget como navegador, pois a maioria dos fóruns da web odeia gerenciadores de download. veresseresponda para mais informações.
Melhor solução
A melhor e mais fácil maneira de espelhar esse tipo de site é usar **página de recados**. É um plugin do Firefox. Tudo que você precisa fazer é iniciar o Firefox, fazer login no site, clicar com o botão direito -> salvar página como, filtrar por domínio. veresseresposta para espelhar um site com eficiência.
Responder4
Se você tiver acesso aos dados de cookies em um navegador (o Firefox tem seu próprio navegador de cookies em opções->privacidade, mas existem plugins para facilitar esta tarefa), faça um login manual no fórum, pesquise todos os cookies desse domínio e armazene-os no arquivo cookies.txt, provavelmente funcionaria com seu comando anterior:
C:\wget.exe wget --load-cookies cookies.txt -p http://www.myforum.com/forum/categories/
Algumas páginas de login são muito complexas para tentar executar a tarefa em uma única linha de comando.
Lembre-se de incluir TODOS os cookies para todo o domínio (pesquise "myforum.com", não apenas "www.myforum.com")