코드 사본은 다음과 같습니다.
import java.io.bufferedReader;
import java.io.ioexception;
import java.io.inputStreamReader;
java.net.malformedurlexception import;
import java.net.url;
java.util.arraylist 가져 오기;
java.util.hashmap import;
Java.util.list 가져 오기;
import java.util.regex.matcher;
java.util.regex.pattern import;
java.net.*;
java.io.*;
import java.util.regex.*;
/*
정규 표현식을 구성하여 지정된 규칙을 얻습니다
*/
공개 클래스 URL
{
개인 문자열 startUrl; // URL의 시작 컬렉션
문자열 urlContent;
문자열 contentArea;
개인 문자열 Strareabegin, Strareaend;
개인 문자열 stringInurl, StringNotinUrl;
문자열 strcontent; // 수집 된 내용
문자열 [] allurls; // 수집 된 모든 URL
개인 문자열 Regex; // 수집 규칙
urlandtitle urlandtitle = new urlandtitle ();
public static void main (String [] args)
{
urls myurl = new urls ( "<body", "/body>");
myurl.getstarturl ( "http://www.zuzwn.com/");
myurl.geturlContent ();
myurl.getContentArea ();
myurl.getstarturl ( "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);
}
// 생성자를 초기화하여 Strareabegin 및 Strareaend
공개 URL (String Strareabegin, String Strareaend)
{
this.strareabegin = trareabegin;
this.strareaend = trareaend;
}
//
공개 void urls ()
{
int i = 0;
// String regex = "<a href ="? '? http : // [a-za-z0-9]+/. [a-za-z0-9]+/ /? ·/?? ·/s|/s]]+[a>] ";";
String regex = "<a.*?/a>";
// String regex = "http : //.*?>";
Pattern Pt = Pattern.compile (Regex);
매치 자 MT = Pt.Matcher (ContentArea);
while (mt.find ())
{
System.out.println (mt.group ());
i ++;
// 제목을 얻습니다
MATCHER TITLE = PANTERT.COMPILE ( ">.*? </a>") .Matcher (MT.group ());
while (title.find ())
{
System.out.println ( "title :"+title.group (). replaceall ( "> | | </a>", "");
}
// URL을 가져옵니다
MATCHER MYURL = PANTERT.COMPILE ( "href =.*?>"). Matcher (mt.group ());
while (myurl.find ())
{
System.out.println ( "웹 사이트 :"+myurl.group (). replaceall ( "href = |>", "");
}
System.out.println ();
}
System.out.println ( "총계"+I+"Compliant Results");
}
// 시작 컬렉션 웹 사이트를 얻습니다
공개 void getStarturl (String Starturl)
{
this.starturl = starturl;
}
// URL이있는 내용을 가져옵니다.
공개 void geturlcontent ()
{
StringBuffer는 = new StringBuffer ();
노력하다
{
url myurl = new URL (starturl);
BufferedReader br = 새로운 버퍼드 리더 (
new inputStreamReader (myurl.openstream ()));
문자열 s;
while ((s = br.readline ())! = null)
{
IS. Append (s);
}
urlContent = is.toString ();
}
캐치 (예외 E)
{
System.out.println ( "URL 파일이 출력 실패");
e.printstacktrace ();
}
}
// URL이있는 일치 영역을 가져옵니다
공개 void getContentArea ()
{
int pos1 = 0, pos2 = 0;
pos1 = urlcontent.indexof (trareabegin)+trareabegin.length ();
pos2 = urlcontent.indexof (Strareaend, pos1);
contentArea = urlContent.substring (pos1, pos2);
}
// 다음 두 기능은 URL에 포함 해야하는 키워드와 포함 할 수없는 키워드를 얻습니다.
// 예비 실험 만 여기서 수행됩니다. 후반에는 포함 할 수없는 보호 된 키워드와 키워드가 둘 이상 있어야합니다.
public void getStringInurl (String StringInurl)
{
this.stringInurl = StringInUrl;
}
공개 void getStringnotinurl (String StringNotinUrl)
{
this.stringnotinurl = stringnotinurl;
}
// 수집 규칙을 가져옵니다
// URL을 가져옵니다
공개 void geturl ()
{
}
공개 문자열 getRegex ()
{
리턴 리그 즈;
}
클래스 urlandtitle
{
문자열 myurl;
문자열 제목;
}
}