2012-08-23 19 views
5

मैं इस यूआरएल से एक प्रॉक्सी सूची प्राप्त करने की कोशिश:मैं वेब पेज से डायनामिक सामग्री को कैसे पार्स कर सकता हूं?

Free proxy list

इस शांत होगा, लेकिन पोर्ट संख्या गतिशील जावास्क्रिप्ट सामग्री है। मैं इस पृष्ठ से जावास्क्रिप्ट से उत्पन्न सामग्री कैसे प्राप्त कर सकता हूं? मेरे पास jsoup और djNativeSwing है लेकिन मैं इसे पृष्ठभूमि धागे में करना चाहता हूं।

JWebBrowser webBrowser = new JWebBrowser(); 
webBrowser.navigate("http://spys.ru/en/free-proxy-list/"); 
System.out.println(webBrowser.getHTMLContent()); 

यह कोड एक नल परिणाम देता है। कृपया मदद करें।

+0

'htmlUnit' देखें' मुझे लगता है कि यह एक चीज है जिसे आपको चाहिए। धन्यवाद। –

+0

मुझे लगता है कि यह मेरे लिए नहीं है। मेरा कोड सरल और क्रॉसप्लेटफार्म होना चाहिए। जैसा कि मुझे HTMLUnit पता है - सिस्टम पथ होना चाहिए - यह समस्या है – Trump

+0

नहीं, आपको सिस्टम पथ की आवश्यकता नहीं है। मैंने HTMLUnit का उपयोग करके वेब क्रॉलर बनाया जो http प्रोटोकॉल पर काम करता है। तो हाँ यह ठीक से काम करता है। अगर आपको और मदद चाहिए तो मुझे बताएं। यदि आप चाहें तो मैं औपचारिक उत्तर लिख सकता हूं। –

उत्तर

2

जब आप GetHtmlContent() विधि को कॉल करते हैं तो वेबब्रोसर लोडिंग को समाप्त नहीं करता है। इसके बजाए इस तरह कुछ उपयोग करें:

JWebBrowser webBrowser = new JWebBrowser(); 
webBrowser.navigate("http://spys.ru/en/free-proxy-list/"); 
webBrowser.addWebBrowserListener(new WebBrowserListener(){ 
    public void loadingProgressChanged(WebBrowserEvent e){ 
     if(e.getWebBrowser().getLoadingProgress()==100) 
      System.out.println(webBrowser.getHTMLContent()); 
    } 
} 
/* Note: I wrote this in the comment field without any testing, 
    you probably have to make the webBrowser final. */ 

JavaDocs आपका मित्र है!

+0

तेजी से रीप्ले के लिए धन्यवाद, लेकिन मैं इस कोड से प्राप्त करने के लिए नहीं हूं। और घटना के लिए सभी abstrcat वर्ग का निर्माण कैसे नहीं करें। – Trump

+0

2 सेकेंड, मैं lib प्राप्त करने और इसे परीक्षण करने की कोशिश करूंगा –

+0

Ок! मुझे आपका इंतज़ार है! – Trump