Pergunta

Preciso pegar uma página da web e extrair as informações de endereço da página.Alguns são mais fáceis que outros.Estou procurando um plugin do Firefox, um aplicativo do Windows ou um código VB.NET que me ajude a fazer isso.

Idealmente eu gostaria de ter uma página web em nosso admin (ASP.NET/VB.NET) onde você insere uma URL e ela raspa a página e retorna um Dataset que eu possa colocar em um Grid.

Foi útil?

Solução

Se você conhece o formato da página (por exemplo, se todas são como aquela página ashnha.com), então é bastante fácil escrever um código VB.NET que faça isto:

  1. Criar uma System.Net.WebRequest e leia a resposta em uma string.
  2. Então crie umSystem.Text.RegularExpressions.Regexe iterar sobre a coleção de partidas entre isso e a corda que você acabou de recuperar.Para cada partida, crie uma nova linha em um Datatable.

A parte difícil é escrever o regex, que é um pouco como uma arte negra.Ver regexlib. com para muitas ferramentas, livros etc. sobre regexes.

Se o formato HTML não estiver bem definido o suficiente para um regex, provavelmente você terá que contar com alguma intervenção do usuário para identificar quais bits são os endereços...

Outras dicas

A que tipo de informação de endereço você está se referindo?

Existem alguns plug-ins do FireFox Operador & Caudas que permitem extrair e visualizar microformatos de páginas da web.

Aza Raskin falou sobre reconhecer quando o texto selecionado é um endereço em seu Proposta do Firefox:Uma tela de nova guia melhor.Nenhum código ainda, mas menciono isso porque pode haver código no Firefox para fazer isso no futuro.

Alternativamente, você pode usar o comando de mapa no Ubiquity, embora você mesmo tenha que selecionar os endereços.

Para captura geral de tela HTML em VB.NET, confira Pacote de agilidade HTML.Muito mais fácil do que tentar fazer Regex (a menos que você já seja um ninja Regex!)

A página que você mencionou na sua resposta seria fácil de automatizar, pois os endereços estão em um formato consistente.

Mas permitir que os usuários apontem para qualquer página é uma tarefa muito mais difícil.Os dados podem estar em qualquer formato.Você pode escrever algo para despejar todo o texto, adivinhar como eles estão divididos, tentar reconhecer bits como nomes de países e estados, números de telefone, etc., e então mostrar seus resultados com uma interface que permitirá aos usuários completar as seções ausentes, mover o divisores e identifique os bits que você perdeu ou que eles não queriam.

Porém, não é simples, e criar uma interface que ofereça uma grande vantagem em relação a simplesmente recortar e colar em campos de formulário validados seria uma grande conquista, eu acho - estaria interessado em saber como você se sai!

EDITAR:Acabei de notar esta outra pergunta que pode abranger um pouco do que você deseja fazer:Analisar endereço, cidade, estado e CEP utilizáveis ​​de uma string

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