[英]how do I search a word in a webpage
給定網址說“ www.microsoft.com”,如何在網頁中搜索單詞的存在。 我需要下載此網頁來執行此搜索嗎?
您只需要在網頁上發出http請求並獲取其所有內容,然后就可以在其中搜索必要的單詞,下面的代碼可能會幫助您。
public static void main(String[] args) {
try {
URL url;
URLConnection urlConnection;
DataOutputStream outStream;
DataInputStream inStream;
// Build request body
String body =
"fName=" + URLEncoder.encode("Atli", "UTF-8") +
"&lName=" + URLEncoder.encode("Þór", "UTF-8");
// Create connection
url = new URL("http://www.example.com");
urlConnection = url.openConnection();
((HttpURLConnection)urlConnection).setRequestMethod("POST");
urlConnection.setDoInput(true);
urlConnection.setDoOutput(true);
urlConnection.setUseCaches(false);
urlConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
urlConnection.setRequestProperty("Content-Length", ""+ body.length());
// Create I/O streams
outStream = new DataOutputStream(urlConnection.getOutputStream());
inStream = new DataInputStream(urlConnection.getInputStream());
// Send request
outStream.writeBytes(body);
outStream.flush();
outStream.close();
// Get Response
// - For debugging purposes only!
String buffer;
while((buffer = inStream.readLine()) != null) {
System.out.println(buffer);
}
// Close I/O streams
inStream.close();
outStream.close();
}
catch(Exception ex) {
System.out.println("Exception cought:\n"+ ex.toString());
}
}
我知道我在理論上將如何做-使用cURL或某些應用程序下載它,將內容存儲到變量中,然后根據需要解析它
是的,您需要下載頁面內容並在其中搜索所需內容。 如果碰巧要搜索整個microsoft.com網站,則應該編寫自己的Web搜尋器,使用現有的搜尋器,或使用某些搜索引擎API(例如Google的API)。
是的,您必須下載該頁面,並且要確保獲得完整的內容,您將需要執行腳本並包括動態內容,就像瀏覽器一樣。
我們無法在不受我們控制的遠程資源上“搜索”某些內容,並且默認情況下,沒有任何網絡服務器提供“掃描我的內容”方法。
您很可能希望使用瀏覽器引擎(Webkit或其他工具)加載頁面,並對該引擎的內部DOM結構執行搜索。
如果您想自己進行搜索,那么顯然您必須下載該頁面。 如果您打算采用這種方法,我建議您使用Lucene (除非您想要簡單的子字符串搜索)
或者,您可以擁有一個為您完成的網絡服務。 您可以請求Web服務grep
網址並發回其結果。
您可以使用搜索引擎的API。 我相信Google和Bing( http://msdn.microsoft.com/en-us/library/dd251056.aspx )都可以使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.