Como posso raspar / minar / persuadir / agredir dados de um site (de preferência) com o OSX?

0

Estou tentando "pegar" dados de um site.

Existe uma maneira de simplesmente apontar um programa em um URL e ele pega tudo nesse domínio. Como devo fazer isso no OSX 10.5? Se realmente necessário, posso usar um ubuntu ou windows box como último recurso.

    
por fightermagethief 07.03.2011 / 03:25

1 resposta

3

Você pode usar o comando wget , que é disponível para download para Mac OS X , incluído na maioria das distribuições do Linux para baixar o arquivo inteiro conteúdo de um site, imagens, CSS, JavaScript, vídeos, arquivos Flash e todos.

Depois de o ter aberto, abra um terminal. Você provavelmente quer chamá-lo assim:

wget -r -l0 -k http://www.example.com/

Isso fará o download de tudo de http://www.example.com/ acessível por links. A opção -r ativa o download recursivo, fazendo o download mais do que apenas a página inicial. A opção -l define quantas páginas a partir da qual procurará links e downloads, definindo como 0 , como eu defini, para que seja possível ir o mais longe possível. Observe que, se o site usar uma geração de página dinâmica que pode fazer o download muito, pode haver muitos URLs que apontam para o mesmo conteúdo ou muito semelhante. O comando -k é opcional e fará com que wget converta todos os links, tags de imagem, etc. para o local correto em sua máquina local para que você possa visualizá-lo com um navegador da web em seu computador e ele funcionará corretamente.

Tenha em atenção que apenas transfere ficheiros de www.example.com , e não de outros domínios. Se você precisar ir para outros domínios, use a opção -H para ativá-la e use a opção -D para definir os outros domínios dos quais fazer download (por exemplo, -D comments.example.com,beta.example.com ). Tenha cuidado, se você deixar a opção -D e definir -l para 0 / infinite, você pode muito bem tentar baixar a World Wide Web inteira!

Outro comutador que pode ser útil é a opção -N , que definirá o registro de data e hora no arquivo local para o horário fornecido pelo cabeçalho HTTP Last-Modified no servidor e não fará o download de arquivos que não foram alterados em downloads subseqüentes.

Para mais informações, consulte a documentação wget .

    
por 07.03.2011 / 03:48