Olá a todos.Tenho um problema em mãos que não sei qual é o standard para se resolver isto, como é que as outras apps fazem isto. Parto do pressuposto que o site em questão não disponibiliza nenhuma API.A questão é a seguinte.Quero retirar informação de um site para permitir uma navegação pelo site de uma forma mais rápida. Como exemplo, o sapo.pt.Pensei em duas estratégias, se calhar falta-me a 3ª que é a correcta :)1 - Fazer pedido HTTP ao sapo.pt na app, fazer parsing da página e e assim criar as várias estruturas: Noticias, Cinema, etc etc2 - Criar uma web app que faz parsing ao site, retirando tudo o que seja "lixo", javascripts, imagens, etc e a app no Android em vez de se ligar ao sapo.pt, ligar-se-ia a esta web app para assim sacar apenas os dados que interessam directamente.Vantagens e desvantagens que encontro:1 - Usando a opção 1, parece-me que o tráfego utilizado é grande porque é necessário fazer download de toda a página e só depois fazer parse da mesma.Isto implica muito tráfego e algum tempo de processamento2 - Na opção 2, a app iria ligar-se a ao um server que já teria esse parse todo feito, poupando assim tráfego (só saca os dados relevantes) e tempo de processamento porque já vem tudo prontinho :)A desvantagem é que o site sapo.pt neste caso, nao iria receber os hits. E com o tempo, se muita gente usasse a app, o sapo.pt poderia bloquear o acesso da webappO que acham? Falta-me a opção 3? Como é normalmente resolvida esta questão?Já vi apps que simplesmente abrem o site numa janela embebida na app. Acho que isto não faz sentido, por várias razões.Obrigado pelas dicas.
Fazer parsing a um site
Iniciado por
giuliapo
, Feb 03 2011 15:55
5 respostas a este tópico
#1
Mensagem publicada 03 February 2011 - 15:55
#2
Mensagem publicada 03 February 2011 - 16:27
Normalmente existem webservices para aceder a certos conteúdos que é o que a maioria das apps usa. Estes são normalmente de acesso gratuíto e públicos não havendo problema em os usar. Contudo aquilo que estás a sugerir não sei se será permitido. Ler a página do site e usar essa informação na tua app.
Chat/ajuda do fórum: http://l.androidpt.com/chat
Usem a pesquisa por favor. Não insiram perguntas que já foram respondidas inúmeras vezes.
Usem o "Gosto" nos posts para agradecer a quem vos ajuda e não criem posts desnecessários.
Carpe diem quam minimum credula postero.
Usem a pesquisa por favor. Não insiram perguntas que já foram respondidas inúmeras vezes.
Usem o "Gosto" nos posts para agradecer a quem vos ajuda e não criem posts desnecessários.
Carpe diem quam minimum credula postero.
#3
Mensagem publicada 04 February 2011 - 12:56
Então e sites que não têm nenhuma API?Há imensos assim. Como resolverias esta questão? Qual é o standard? O que faz o resto do pessoal?ObrigadoContudo aquilo que estás a sugerir não sei se será permitido. Ler a página do site e usar essa informação na tua app.
#4
Mensagem publicada 04 February 2011 - 13:26
Em relação ao Sapo este tem vários webservices que podes usar.Se for um site sem qualquer API então aconselho-te a contactar os admins do site em questão e perguntar se podes usar a informação que eles disponibilizam. Até podes ter a opção de criar uma app oficial.
Chat/ajuda do fórum: http://l.androidpt.com/chat
Usem a pesquisa por favor. Não insiram perguntas que já foram respondidas inúmeras vezes.
Usem o "Gosto" nos posts para agradecer a quem vos ajuda e não criem posts desnecessários.
Carpe diem quam minimum credula postero.
Usem a pesquisa por favor. Não insiram perguntas que já foram respondidas inúmeras vezes.
Usem o "Gosto" nos posts para agradecer a quem vos ajuda e não criem posts desnecessários.
Carpe diem quam minimum credula postero.
#5
Mensagem publicada 12 February 2011 - 16:50
Sinceramente não te aconselho a fazeres isso, porque basta o site mudar, e o site muda, para tudo deixar de funcionar. Mas se quiseres mesmo fazer, cria tu um web-service que lê o site do sapo saca a informação que queres e tu só chamas esse web-service no android com a informação já estruturada em xml ou json.A sapo disponibiliza alguns serviços mas nada de muito especial. Não sei o que pretendes retirar do site, mas também tens a opção dos RSS's. Agora a primeira opção está fora de questão, para alem de consumir bastante tráfego, o próprio parsing ao site é custoso para o dispositivo, e quando quiseres mudar tens de estar a mudar na app, que é má política. cumps
#6
Mensagem publicada 12 February 2011 - 19:15
Acho que a melhor forma seria tu implementar um parser de RSS.Link explicando melhor oq é RSS:http://antiga.ajuda.sapo.pt/comunicacao/fotos/utilizacao_do_servico/RSS.htmlA maioria dos sites disponibilizam os RSS. EX: http://rss.sapo.pt/tek/Aqui tem um bom tutorial sobre implementar um parser de RSS em Android.Aqui tem um tutorial bom sobre o assunto.http://www.ibm.com/developerworks/xml/tutorials/x-androidrss/index.htmlabraço