2012-10-30 14 views
5

मैं एक आवेदन विकसित कर रहा हूं जो सोने की दर दिखाता है और इसके लिए ग्राफ बनाता है।
मुझे एक website मिलता है जो मुझे यह सोने की दर नियमित रूप से प्रदान करता है। मेरा सवाल यह है कि एचटीएमएल पेज से इस विशिष्ट मूल्य को कैसे निकाला जाए।
यहां लिंक है जिसे मुझे निकालने की आवश्यकता है = http://www.todaysgoldrate.co.in/todays-gold-rate-in-pune/ और इस HTML पृष्ठ में निम्नलिखित टैग और सामग्री है।जावा में एचटीएमएल से विशिष्ट मूल्य कैसे प्राप्त करें?

<p><em>10 gram gold Rate in pune = Rs.31150.00</em></p>  

यहां मेरा कोड है जिसे मैं निकालने के लिए उपयोग करता हूं लेकिन मुझे विशिष्ट सामग्री निकालने का तरीका नहीं मिला।

public class URLExtractor { 

private static class HTMLPaserCallBack extends HTMLEditorKit.ParserCallback { 

    private Set<String> urls; 

    public HTMLPaserCallBack() { 
     urls = new LinkedHashSet<String>(); 
    } 

    public Set<String> getUrls() { 
     return urls; 
    } 

    @Override 
    public void handleSimpleTag(Tag t, MutableAttributeSet a, int pos) { 
     handleTag(t, a, pos); 
    } 

    @Override 
    public void handleStartTag(Tag t, MutableAttributeSet a, int pos) { 
     handleTag(t, a, pos); 
    } 

    private void handleTag(Tag t, MutableAttributeSet a, int pos) { 
     if (t == Tag.A) { 
      Object href = a.getAttribute(HTML.Attribute.HREF); 
      if (href != null) { 
       String url = href.toString(); 
       if (!urls.contains(url)) { 
        urls.add(url); 
       } 
      } 
     } 
    } 
} 

public static void main(String[] args) throws IOException { 
    InputStream is = null; 
    try { 
     String u = "http://www.todaysgoldrate.co.in/todays-gold-rate-in-pune/"; 
     //Here i need to extract this content by tag wise or content wise.... 

अग्रिम धन्यवाद .......

उत्तर

3

आप की तरह Jsoup

पुस्तकालय का उपयोग कर सकते है आप इसे यहाँ से प्राप्त कर सकते हैं ->Download Jsoup

यहाँ अपने API संदर्भ है ->Jsoup API Reference

इसकी वास्तव में बहुत का उपयोग कर HTML सामग्री पार्स करने के लिए आसान Jsoup।

नीचे एक नमूना कोड जो आपके लिए उपयोगी साबित हो सकता है ..

public class GetPTags { 

      public static void main(String[] args){ 

      Document doc = Jsoup.parse(readURL("http://www.todaysgoldrate.co.intodays-gold-rate-in-pune/")); 
      Elements p_tags = doc.select("p"); 
      for(Element p : p_tags) 
      { 
       System.out.println("P tag is "+p.text()); 
      } 

      } 

     public static String readURL(String url) { 

     String fileContents = ""; 
     String currentLine = ""; 

     try { 
      BufferedReader reader = new BufferedReader(new InputStreamReader(new URL(url).openStream())); 
      fileContents = reader.readLine(); 
      while (currentLine != null) { 
       currentLine = reader.readLine(); 
       fileContents += "\n" + currentLine; 
      } 
      reader.close(); 
      reader = null; 
     } catch (Exception e) { 
      JOptionPane.showMessageDialog(null, e.getMessage(), "Error Message", JOptionPane.OK_OPTION); 
      e.printStackTrace(); 

     } 

     return fileContents; 
    } 

} 
+0

आप आदमी धन्यवाद .... मैं मैं क्या चाहते ... बहुत बढ़िया! –

+0

आपका स्वागत है :) – Pratik

1

http://java-source.net/open-source/crawlers

आप इस बात का किसी भी API का उपयोग कर सकते हैं, लेकिन शुद्ध JDK के साथ HTML पार्स नहीं है, क्योंकि यह बहुत painfull है ।

संबंधित मुद्दे