में किसी URL से सामग्री पढ़ने से पहले पृष्ठ लोड होने तक प्रतीक्षा करें, मैं अपने जावा कोड में एक यूआरएल से पढ़ रहा हूं लेकिन जिस पेज को मैं पढ़ना चाहता हूं उसे लोड करने के दौरान एक आदेश निष्पादित करता है और इनपुटस्ट्रीम रीडर पूरी तरह से लोड होने से पहले पृष्ठ को पढ़ता है, इसलिए वास्तविक सामग्री लोड होने से पहले मेरे buffered पाठक केवल पृष्ठ पर HTML एकत्र करता है।जावा
मेरा मुख्य लक्ष्य पृष्ठ पर "बिक्री" शब्द ढूंढना है, लेकिन अगर मैं खोला गया स्ट्रीम पूर्ण पृष्ठ लोड होने से पहले कनेक्ट होता है तो मैं ऐसा नहीं कर सकता। क्या इसे लोड करने या कुछ करने का इंतजार करने का कोई तरीका है?
URL url = new URL("http://urlgoeshere.com?"+ withAParam);
URLConnection uc = url.openConnection();
uc.connect();
BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream()));
String inputLine = in.readLine();
int index = -1;
while ((inputLine = in.readLine()) != null){
index=inputLine.toLowerCase().indexOf("sales");
if(index>=0){
log.info("Found sales!");
break;
}
}
if (in != null){
in.close();
}
यह समझ में नहीं आता है। 'BufferedReader' अनुक्रमिक रूप से पृष्ठ को तब तक पढ़ेगा जब तक स्ट्रीम में कोई और सामग्री न हो। पृष्ठ लिखने वाले कुछ भी पढ़े जाएंगे। यदि पृष्ठ गतिशील है, तो यह अभी भी सामग्री उठाएगा। यदि पोस्ट-लोडिंग क्रिया जावास्क्रिप्ट में की जाती है, तो यह दृष्टिकोण कभी काम नहीं करेगा क्योंकि यह जावास्क्रिप्ट निष्पादित या यहां तक कि नहीं लाएगा। – jiggy