Acessar elementos de uma página HTML
15/02/2013
0
eu tenho aqui uma página web que eu estou sempre precisando acessar e tirar dela as mesmas informações. Por exemplo, a página tem um título e um substítulo, como no código a seguir.
... <h1 id="hTitulo">título aqui</h1> <h2 id="hSubTitulo">subtítulo aqui</h2> ...
Só que isso é um site na web, eu acesso pelo endereço normalmente.
Aí eu gostaria de automatizar minha tarefa, fazendo uma aplicação (de preferência Windows Forms, mas pode ser ASP.net) em que eu informasse o endereço e já obtivesse o valor dessas tags.
Existe alguma classe ou função em C# pra eu ler uma URL e obter os valores dos elementos da página?
Obrigada desde já.
Rachel Andrade
Posts
15/02/2013
Caio Uechi
interessante o que você está querendo fazer...
mas tenho uma pequena ideia de como 'começar'...
a gente sabe que as requisições são por HTTP, e com certeza você faria uma requisição com determinada URL, e logo em seguida receberia um response HTTP com um POST com os dados do site (imagino).
puxe o FIDDLER, e veja os dados recebidos, ve se vc consegue achar algum dado com o title e head.
(posso ter viajado na resposta, + eu começaria assim, tentaria enxergar o site pela mesma visão do FIDDLER)
15/02/2013
Robson Alves
http://msdn.microsoft.com/en-us/library/system.net.webclient.aspx
Ele baixa toda a informações a partir de um link. Possibilita também efetuar um post em uma página (se fuçar bem).
17/02/2013
Rachel Andrade
Ocorre que eu sou iniciante ainda, principalmente com web, então acho que até entendi os passos que você falou, mas não faço ideia de como implementar isso em C# =(
Você teria algum código ou saberia que classes eu devo e posso usar para isso?
Obrigada.
17/02/2013
Rachel Andrade
Vou dar uma olhada nesse link e pesquisar sobre essa classe.
Assim que tiver algum resultado, volto aqui para compartilhar com vocês.
Grata.
04/03/2013
Edson Oliveira
webBrowser1.Url = new Uri("https://www.devmedia.com.br/forum/acessar-elementos-de-uma-pagina-html/434718"); HtmlElement oHtmlElement = webBrowser1.Document.ActiveElement.All.OfType<HtmlElement>().Where(c => c.Id != null && c.Id.IndexOf("maintable") > -1).FirstOrDefault(); Console.Write(webBrowser1.Document.Title); Console.Write(oHtmlElement);
04/03/2013
Rachel Andrade
Grata.
30/06/2013
Rachel Andrade
Obtive o conteúdo da página e use uma expressão regular.
Obrigada a todos =)
30/06/2013
Joel Rodrigues
Obrigado pelo retorno.
Estou marcando o tópico como Concluído.
Clique aqui para fazer login e interagir na Comunidade :)