2017-11-13 1 views
1

웹 사이트에서 데이터를 가져 오려고합니다. 내 오래된 프로그램에서 복사 붙여 넣기를합니다. 그러나 그것은 작동하지 않습니다. 내 코드는 아래와 같습니다. JSoup에서 웹 사이트를 구문 분석 할 수 없습니다.

import java.io.IOException; 
import javax.swing.JOptionPane; 
import org.jsoup.Jsoup; 
import org.jsoup.Connection.Response; 
import org.jsoup.nodes.Document; 
import org.jsoup.nodes.Element; 

public class Veri { 

    public static void main(String[] args) { 

     Veri(); 

    } 

    public static void Veri() { 

     try { 

      String url = "https://www.isyatirim.com.tr/tr-tr/analiz/hisse/Sayfalar/default.aspx"; 

      Response res = Jsoup.connect(url).timeout(6000).execute(); 

      Document doc = res.parse(); 
      Element ele = doc.select("table[class=dataTable hover nowrap excelexport data-tables no-footer]").first(); 

      for (int i = 0; i < 100; i++) { 

       System.out.println(ele.select("td").iterator().next().text()); 

      } 

     } catch (IOException c) { 

      JOptionPane.showMessageDialog(null, "Veriler Alınırken Bir Harta Oluştu!"); 
      c.printStackTrace(); 
     } 

    } 

} 

나는 Veri.main에서 Veri.Veri (Veri.java:37) (Veri.java에서 스레드 "기본"java.lang.NullPointerException이에 아래의 오류

예외를 가지고 : 20)

답변

1

마지막으로 프로그램을 사용한 이후 페이지가 약간 변경되었을 수 있습니다. 이 시도 :

import org.jsoup.Jsoup; 
import org.jsoup.Connection.Response; 
import org.jsoup.nodes.Document; 
import org.jsoup.nodes.Element; 
import org.jsoup.select.Elements; 

public class Veri { 

    public static void main(String[] args) { 

     Veri(); 

    } 

    public static void Veri() { 

     try { 

      String url = "https://www.isyatirim.com.tr/tr-tr/analiz/hisse/Sayfalar/default.aspx"; 

      Response res = Jsoup.connect(url).timeout(6000).execute(); 

      Document doc = res.parse(); 
      Element ele = doc.select("table[class=dataTable hover nowrap excelexport]").first(); 
      Elements lines = ele.select("tr"); 
      for (Element elt : lines) { 
       System.out.println(elt.text()); 
       System.out.println("------------------------"); 
      } 

     } catch (IOException c) { 

      JOptionPane.showMessageDialog(null, "Veriler Alınırken Bir Harta Oluştu!"); 
      c.printStackTrace(); 
     } 

    } 

} 

을 당신이 이런 식으로 필요한 모든 정보를 얻을 생각합니다.

+0

이렇게했습니다. 고맙습니다. –

+0

당신을 진심으로 환영합니다. –

관련 문제