BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str;
while ((str = in.readLine()) != null) {
}
in.close();
} catch (IOException e) {
} [/code]
A variável str vai conter uma string com o código HTML do site, no caso o google.com.br.
Agora eu preciso editar essa string pegando partes específicas desse código HTML e transformar em variáveis para o meu sistema.
Por exemplo, supondo que o site tenha a seguinte tabela:
Supondo que minha variável str tenha assumido esse código como seu conteúdo e eu precisasse, por exemplo, recuperar o valor “01.01.01”, que está no código acima, como eu faria?
E se eu não conhecesse o valor “01.01.01” nem o seu tamanho (por exemplo se eu precisasse recuperar o valor da “Descrição” sendo essa descrição de tamanho variável e conteúdo desconhecido, representado nesse exemplo pela string “RETIRANDO A VEGETACAO, TRONCOS ATE 5CM DE DIAMETRO E RASPAGEM”, como eu deveria proceder?
E, por último, vocês tem alguma dica sobre esse código para ler o HTML de um site?
Entao Baroni, se entendi bem, o que voce deseja é reconhecer alguns padroes de uma string e recuperar informações quando o padrão é encontrado, resumindo, o que deseja será resolvido utilizando Expressões Regulares. Para isso voce pode utilizar as classes java.util.regex.Pattern e java.util.regex.Match. Na API da Pattern tem um monte de informação sobre como construir suas expressões regulares. Aqui no fórum temos um artigo a respeito:
// Fig. 29.24: RegexMatches.java
// Demonstrating Classes Pattern and Matcher.
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexMatches
{
public static void main( String args[] )
{
// create regular expression
Pattern expression =
Pattern.compile( "J.*\d[0-35-9]-\d\d-\d\d" );
String string1 = "Jane's Birthday is 05-12-75\n" +
"Dave's Birthday is 11-04-68\n" +
"John's Birthday is 04-28-73\n" +
"Joe's Birthday is 12-17-77";
// match regular expression to string and print matches
Matcher matcher = expression.matcher( string1 );
while ( matcher.find() )
System.out.println( matcher.group() );
} // end main
} // end class RegexMatches
/*
**************************************************************************
* (C) Copyright 1992-2005 by Deitel & Associates, Inc. and *
* Pearson Education, Inc. All Rights Reserved. *
* *
* DISCLAIMER: The authors and publisher of this book have used their *
* best efforts in preparing the book. These efforts include the *
* development, research, and testing of the theories and programs *
* to determine their effectiveness. The authors and publisher make *
* no warranty of any kind, expressed or implied, with regard to these *
* programs or to the documentation contained in these books. The authors *
* and publisher shall not be liable in any event for incidental or *
* consequential damages in connection with, or arising out of, the *
* furnishing, performance, or use of these programs. *
**************************************************************************
*/
Eu tentei, estudei, patinei e não sai do lugar… Não entendi NADA do JTidy… :lol:
Você ou algum outro usuário que “manje” de JTidy poderiam me dar uma “mãozinha” por favor??? Um manual seria MUITO bem vindo… Aceito também soluções alternativas… Caso alguém se habilite
Sou newba de mais para aprender essas coisas sozinho ainda…