Pergunta

Enquanto HTML raspagem está muito bem documentada do que eu posso ver, e eu entendo o conceito ea execução do mesmo, o que é o melhor método para raspagem de conteúdo que está escondido atrás de formas de autenticação. Refiro-me a raspagem de conteúdo que legitimamente têm acesso a, portanto, um método para enviar automaticamente os dados de login é o que eu estou procurando.

Tudo o que posso pensar é a criação de um proxy, capturando a taxa de transferência a partir de um login manual, então a criação de um script para falsificar que o rendimento como parte da execução raspagem HTML. Na medida em que a linguagem vai, provavelmente seria feito em Perl.

Alguém já teve experiência com este, ou apenas um pensamento geral?

Editar Este tem sido respondidas antes mas com .NET. Enquanto ele valida como eu acho que deveria ser feito, alguém tem Perl script para fazer isso?

Foi útil?

Solução

Confira o Perl WWW :: mechanize biblioteca - ele constrói sobre LWP para fornecer ferramentas para fazer exatamente o tipo de interação que você se refere, e pode manter o estado com os cookies enquanto você está nisso

WWW :: mechanize, ou Mech para breve, ajuda a automatizar interação com um local na rede Internet. Ele suporta realizando uma sequência de buscas página incluindo seguindo os links e envio de formulários. Cada página buscada é analisado e sua ligações e formas são extraídos. Um link ou uma sua forma pode ser seleccionado, campos de formulário pode ser preenchido e a página seguinte pode ser buscada. Mech também armazena uma história de as URLs que você visitou, que podem ser consultado e revisitado.

Outras dicas

O LWP Módulo em perl deve dar o que você está depois.

Há um artigo boa aqui , que fala sobre ativação de cookies e outros métodos de autenticação para que você obtenha um login autorizado e permitir a sua sonda de tela para que você obtenha atrás da parede do login.

Existem 2 tipos de autenticação que são usados ??regularmente. autenticação e baseada em formulário de autenticação baseada em HTTP.

Para um site que usa HTTP autenticação baseada basicamente você enviar o nome de usuário e senha como parte de cada solicitação HTTP que você faz para o servidor.

Para um site que faz a autenticação baseada em formulário você geralmente precisa visitar a página de login, aceitar e armazenar o cookie, em seguida, enviar as informações do cookie com quaisquer solicitações HTTP que você faz.

É claro que também existem sites como stackoverflow que usam autenticação externo, como OpenID ou saml para autenticação. Estes são mais complexas para lidar com para a demolição. Normalmente, você quer encontrar uma biblioteca para lidar com eles.

Sim, você pode usar outras bibliotecas para a sua própria língua, se diferente do asp.net.

Por exemplo, em Java você pode usar httpclient ou HttpUnit (que ainda lida com um pouco de JavaScript básico).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top