Como faço instantâneos planejados de uma página da Web autenticada?

3

Como posso, como iniciante do Ubuntu, obter um instantâneo diário de uma página da Web? A página requer um login e, em seguida, exibe um monte de números que me interessam.

Posso escrever um script para cuidar disso?

(Eu estou em uma lista de espera para o alojamento do dormitório da faculdade e quero ficar de olho na progressão. Há uma longa lista de informações atualizadas diariamente que eu gostaria de armazenar em algum lugar que eu possa facilmente folhear.)

Editar: então usei o roteiro de Rinzwind e fiz algumas pesquisas por conta própria; aqui está o que eu tenho até agora:

    #!/bin/bash
   filename="kkik"
   url="https://www.kollegierneskontor.dk/default.aspx?func=kkikportal.housingrequests&lang=GB"
   date=' date +%d%m%Y'
   output="$filename-$date.html"
   wget --save-cookies cookies.txt --post-data 'Page_ctl05_Main_ctl04_form_loginUserName=*****&Page$ctl05$Main$ctl04$form$loginPassword=******'
   wget  --load-cookies cookies.txt  $url -O $output

faz o download da página 'você não tem permissão' (se eu remover os cookies e postar as coisas, isso me dará um 'você precisa fazer login' página, que é diferente). Estou faltando alguma coisa óbvia? Não parece ser um site excessivamente complexo.

Tenho certeza que se eu executar o roteiro, vou descobrir como fazer um trabalho Cron com isso.

    
por joon 21.06.2011 / 15:08

3 respostas

3

1. Baixando um instantâneo de um site

Você pode baixar a página com alguns comandos simples. Requer login a cada vez? Isso pode exigir alguma codificação extra, mas esse é um script geral que baixa um site (e acrescenta uma data ao download)

   #!/bin/bash
   filename="askubuntu"
   url="www.askubuntu.com"
   date=' date +%d%m%Y'
   output="$filename-$date.html"
   wget $url -O $output

Resultado:

askubuntu-210611.html pode ser visualizado com um navegador ou um visualizador de texto como gedit . Isso pode até ser alterado para adicionar alguns comandos sed/grep para filtrar tudo o que está html fora do resultado e apenas salvar os dados desejados. Torna fácil adicionar os dados ao libreoffice calc, por exemplo.

Se você adicioná-lo a um script cron , poderá fazê-lo a cada x minutos / horas.

2. Fazendo várias capturas de tela de um site

Obturador pode fazer imagens a partir da linha de comando com

   shutter --window=.*firefox.*

Isso fará uma captura de tela de uma instância chamada firefox e a salvará com um novo nome na pasta em que você salvou as capturas de tela do obturador. Adicione isso a um script e execute-o uma vez a cada vez que desejar e você poderá ter capturas de tela do seu site. Contanto que você atualize a página com um complemento como atualize cada você está configurado para vai.

O obturador também é capaz de criar uma imagem de uma parte da tela com

    shutter -s=100,100,300,300 -e

ou capture uma captura de tela de um site (provavelmente não utilizável para você se precisar fazer login sempre):

    shutter --web=[URL]
    
por Rinzwind 21.06.2011 / 15:20
0

Não tenho certeza se é uma solução para você porque não atende a todos os seus requisitos. No entanto, com a extensão ScrapBook Firefox, você pode criar instantâneos de sites facilmente. Cada vez que você pega um instantâneo, ele cria uma entrada em uma lista ordenada por data e você pode voltar facilmente a qualquer versão.

Como você precisa fazer o login no site, a extensão ScrapBook é ótima porque você pode fazer o login primeiro e depois tirar o instantâneo como usuário logado.

A única coisa que ele não fará é um instantâneo automatizado porque você precisará navegar até o site e salvar o instantâneo manualmente.

Espero que isso ajude.

    
por jmbouffard 21.06.2011 / 15:40
0

@joon Acho que você precisa do xdotool .

O Xdotool permite simular a entrada do teclado e a atividade do mouse, mover e redimensionar janelas e muito mais. Dê uma olhada. Com isso, você pode fazer a sua autenticação no estilo "gui" clássico, então o seu código pode pegar a captura de tela e o que for ... Espero que isso ajude você no caminho.

    
por H_7 13.02.2012 / 06:33