簡體   English   中英

如何在網頁中搜索單詞

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM