제가 네이버영화페이지에서 영화순위를 파싱할려고하는데요..ㅠ
초보라서 구글에서 예제보고 이해하면서 변경시킬려고 노력하는데 ㅠ
도무지 왜 안받아오는질 모르겠네요...
아무리 봐도 다 맞는데
코드에서나 실행시켰을때 오류없이 잘돌아가는데,
문제는 받아서 뿌려주는 값이 NULL값입니다....
제가봤을땐 데이터를 못가지고 오는거 같은데..
제리코 라이브러리 다 추가했구요..
메니페스트에도 권한 다 넣어줬구요..ㅠㅠ
머가 문제일까요...
밑에코드에 euc-kr도 해봤구요,
if로 null값 체크했는데 역시나 null 이더군요 ㅠㅠ
도와주세요!ㅎ
package com.kygmovie.boxoffice;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
import net.htmlparser.jericho.Element;
import net.htmlparser.jericho.HTMLElementName;
import net.htmlparser.jericho.Source;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
public class MainActivity extends AppCompatActivity {
TextView resultview;
String con;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String url = "http://movie.naver.com/movie/sdb/rank/rboxoffice.nhn?nation=kor";
resultview = (TextView) findViewById(R.id.txt1);
if (getHtmltoText(url)!= null){
resultview.setText("no null");
}else{
resultview.setText("null이네");
}
//resultview.setText(getHtmltoText(url));
//resultview.setText(con);
//parse();
}
public String getHtmltoText(String sourceUrlString) {
Source source = null;
String content = null;
try {
URL sUrl = new URL(sourceUrlString);
InputStream is = sUrl.openStream();
source = new Source(new InputStreamReader(is,"UTF-8"));
Element tbody = (Element) source.getAllElements(HTMLElementName.TBODY).get(0);
Element tr = (Element) tbody.getAllElements(HTMLElementName.TR).get(1);
Element td = (Element) tr.getAllElements(HTMLElementName.TD).get(1);
Element div = (Element) td.getAllElements(HTMLElementName.DIV).get(0);
Element a = (Element) div.getAllElements(HTMLElementName.A).get(0);
//source.fullSequentialParse();
content=a.getTextExtractor().toString();
}catch (Exception e){
e.printStackTrace();
}
return content;
}
}