我正在創建一個簡單的實用程序來從網頁中檢索所有HTTP網址。從網頁獲取所有HTTP網址
最初我打算使用HTML解析庫來解析出HREF標籤,但我知道我需要檢索腳本中包含的URL(下面的示例腳本),因此我開始嘗試使用正則表達式從網頁獲取所有HTTP網址,但由於某種原因,我的正則表達式無法正常工作。
URL可以是一個javascript裏面
<script>
if(jQuery.browser.msie)
{
var v= 'http://test.com/test/test';
}
</script>
我的程序:
try {
BufferedReader in=new BufferedReader(new FileReader("c:\\sample\\sample.html"));
while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
String pattern = "http?://([-\\w\\.]+)+(:\\d+)?(/([\\w/_\\.]*(\\?\\S+)?)?)?";
// Create a Pattern object
Pattern r = Pattern.compile(pattern);
// Now create matcher object.
Matcher m = r.matcher(inputLine.replaceAll("http://", "\nhttp://"));
while (!m.hitEnd()) {
if (m.find()) {
System.out.println("Found value: " + m.group(0));
} else {
//System.out.println("NO MATCH");
}
}
}
in.close();
} catch (Exception e) {
e.printStackTrace();
}
有人可以幫助我解決這個問題還是讓我知道的最好的方法,從網頁檢索所有網址?
http://stackoverflow.com/a/1732454/1266600 :) – sushain97