Salinan kode adalah sebagai berikut:
Paket Pekerjaan;
impor java.io.bufferedReader;
impor java.io.ioException;
impor java.io.inputstream;
impor java.io.inputStreamReader;
impor java.util.regex.matcher;
impor java.util.regex.pattern;
impor org.apache.commons.httpclient.defaulthtpMethodRetryHandler;
impor org.apache.commons.httpclient.httpClient;
impor org.apache.commons.httpclient.httpException;
impor org.apache.commons.httpclient.httpstatus;
impor org.apache.commons.httpclient.methods.getmethod;
impor org.apache.commons.httpclient.params.httpmethodparams;
kelas publik chuanboyi {
public static void main (string [] args) {
// TODO Stub Metode yang dihasilkan otomatis
StringBuffer html = new StringBuffer ();
HttpClient httppClient = httpclient baru ();
// Buat contoh metode GET
GetMethod getMethod = baru getMethod ("// www.vevb.com");
// Gunakan kebijakan pemulihan default yang disediakan oleh sistem
getMethod.getParams (). setParameter (httpmethodparams.retry_handler, DEFAULTHTTPMethodRetryHandler ());
mencoba{
// Jalankan metode GET
int statuscode = httpclient.executeMethod (getMethod);
if (statuscode! = httpstatus.sc_ok) {
System.out.println ("Metode salah" + getMethod.getStatusLine ());
}
InputStream responseBody = getMethod.getResponseBodyAsstream ();
BufferedReader Reader = BufferedReader baru (InputStreamReader baru (ResponseBody, "UTF-8")));
String line = reader.readline ();
while (line! = null) {
html.Append (line) .Append ("/n");
line = reader.readline ();
}
reader.close ();
// ekspresi reguler
String regex = "<form name =/" compareForm/"[// s // s]+> [// s // s]+</form>.*<Skrip.*>";
String regexa = "(? <= <li>) [// s // s]+? (? = </li>)";
Pola pola = pola.compile (regex);
Pencocokan m = pola.matcher (html);
StringBuffer str = new StringBuffer ();
int i = 0;
while (m.find ()) {
str.Append (m.group ());
}
pola = pola.compile (regexa);
m = pola.matcher (str);
while (m.find ()) {
attrs (m.group ());
i ++;
}
System.out.println ("Ada total"+i+"data!");
} catch (httpException e) {
// todo: menangani pengecualian
System.out.println ("Silakan periksa alamat http yang disediakan!");
e.printstacktrace ();
} catch (ioException e) {
// todo: menangani pengecualian
System.out.println ("Garis salah!");
e.printstacktrace ();
} Akhirnya{
getMethod.releaseconnection (); // Lepaskan tautannya
}
}
public static void attrs (string str) {
// Dapatkan regex URL
String regexurl = "[az]+-[0-9]+//. Html";
// Dapatkan ekspresi nama reguler
String regexName = "(? <= Title =/") [[// w-// s] [^x00-xff]]+(? =/")";
// Dapatkan ekspresi gambar yang teratur
String regexpicture = "gambar.*//. Jpg";
Pola polaUrl = pola.compile (regexurl);
Pola polaName = pola.compile (regexName);
Pola polaPicture = pola.compile (regexpicture);
Pencocokan murl = polaurl.matcher (str);
Pencocokan mname = polaName.matcher (str);
Pencocokan mpicture = polaPicture.matcher (str);
if (mname.find ()) {
System.out.println ("Nama:"+mname.group ());
}
if (murl.find ()) {
System.out.println ("Link:"+Murl.group ());
}
if (mpicture.find ()) {
System.out.println ("Gambar:"+mpicture.group ());
}
}
}