A cópia do código é a seguinte:
importar java.io.bufferedReader;
importar java.io.ioException;
importar java.io.inputStreamReader;
importar java.net.MalformEdUrlexception;
importar java.net.url;
importar java.util.arraylist;
importar java.util.hashmap;
importar java.util.list;
importar java.util.regex.matcher;
importar java.util.regex.pattern;
importar java.net.*;
importar java.io.*;
importar java.util.regex.*;
/*
Obter a regra especificada construindo expressões regulares
*/
URLs de classe pública
{
Private String Starturl;
String urlContent;
String contentarea;
Private String Stareabegin, STARAEEND;
private string stringinurl, stringNotinurl;
String strcontent; // o conteúdo coletado obtido
String [] ALLURLS;
Regras de coleta de string privada;
Urlandtitle urlandtitle = new urlandtitle ();
public static void main (string [] args)
{
Urls myurl = new URLs ("<corpo", "/body>");
myurl.getstartl ("http://www.zuzwn.com/");
myurl.geturlContent ();
myurl.getContentarea ();
myurl.getstartl ("http://www.zuzwn.com/");
myurl.getStringNotinurl ("Google");
myurl.urls ();
//System.out.println("starturl:"+myurl.starturl);
//System.out.println("urlContent:"+myurl.urlcontent);
//System.out.println("contentarea:"+myurl.contentarea);
}
// inicializa os construtores STARABEGIN e STARAEEND
URLs públicos (String stareabegin, string stareaend)
{
this.stareaBegin = stareaBegin;
this.strareaEnd = STARAEEND;
}
//
URLs de vazios públicos ()
{
int i = 0;
// string regex = "<a href ="? '? /?[/.?
String regex = "<a.*?/A>";
// string regex = "http: //.*?>";
Padrão pt = padrão.compile (regex);
Matcher mt = pt.matcher (contentarea);
While (mt.find ())
{
System.out.println (mt.group ());
i ++;
// Obtenha o título
Matcher title = Pattern.compile (">.*? </a>") .matcher (mt.group ());
While (title.find ())
{
System.out.println ("title:"+title.group (). Replaceall ("> | </a>", ""));
}
// Obtenha o URL
Matcher Myurl = Pattern.compile ("href =.*?>"). Matcher (mt.group ());
While (myurl.find ())
{
System.out.println ("Site:"+myurl.group (). Replaceall ("href = |>", ""));
}
System.out.println ();
}
System.out.println ("existem totais"+i+"resultados compatíveis");
}
// Get the Start Collection Website
public void getstarturl (string starturl)
{
this.startUturl = starturl;
}
// Obtenha o conteúdo em que o URL está localizado;
public void geturlContent ()
{
StringBuffer is = new StringBuffer ();
tentar
{
Url myurl = novo url (starturl);
BufferEredReader BR = new BufferredReader (
novo inputStreamReader (myurl.openstream ()));
Strings s;
while ((s = B.ReadLine ())! = NULL)
{
is.Append (s);
}
urlContent = is.toString ();
}
Catch (Exceção e)
{
System.out.println ("O arquivo de URL falhou na saída");
E.PrintStackTrace ();
}
}
// Obtenha a área de correspondência onde o URL está localizado
public void getContentarea ()
{
int pos1 = 0, pos2 = 0;
POS1 = urlcontent.indexOf (STARABEGIN)+STARABEGIN.length ();
POS2 = urlContent.IndexOF (STARAEEND, POS1);
ContentArea = urlcontent.substring (POS1, POS2);
}
// As duas funções a seguir obtêm as palavras -chave que o URL deve conter e as palavras -chave que não podem ser incluídas
// Apenas experimentos preliminares são feitos aqui. Na fase posterior, deve haver mais de uma palavra -chave e palavra -chave protegidas que não podem ser incluídas.
public void getStringinurl (string stringinurl)
{
this.stringinurl = stringinurl;
}
public void getStringNotinurl (String StringNotinurl)
{
this.StringNotinurl = stringNotinurl;
}
// Obtenha as regras de coleta
// Obtenha o URL
public void geturl ()
{
}
public string getRegex ()
{
retornar regex;
}
CLASSE URLANDTITLE
{
String myurl;
Título da string;
}
}