0
웹 사이트 API가 아닌 Jsoup를 사용하여 웹 사이트에서 연습하고 정보를 얻으려고합니다. 내 코드에 오류가 없지만 텍스트 필드가 변경되지 않습니다. 그냥 빈 공간을 보여줍니다. 어떻게하면 웹 사이트에서 정보를 얻을 수 있습니까? 나는 나의 웹 사이트에 게시 할 수 있도록 메인 뉴스를 얻으려고하고있다.Jsoup를 사용하여 웹 사이트에서 데이터를 가져 오는 중입니까?
내 코드 : 문제는 여기에 거짓말
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.os.AsyncTask;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
import java.io.IOException;
import java.io.InputStream;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
Document document;
TextView text;
String ankosh;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text = (TextView)findViewById(R.id.textView);
new Ankosh().execute();
}
public class Ankosh extends AsyncTask<Void, Void, Void> {
private Exception exception;
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... params) {
try {
// Connect to the web site
document = Jsoup.connect("http://www.theguardian.com/us").get();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void feed) {
String ankosh = document.attr("href");
text.setText(ankosh);
}
}
}
실천은 좋지만 ToS를 위반할 가능성이 큽니다. 또한 도움이 필요하다면, 구문 분석 할 HTML의 정확한 부분을 지정해야합니다. 여기 사람들이 당신이 무엇을 찾고 있는지를 알아 내기 위해 사이트를 방문 할 것으로 기대할 수는 없습니다. – Filburt
코드를 디버그하여 그 이유를 확인하십시오. 이 경우 html 문서의 루트 태그는''href''라는 속성을 갖지 않습니다. 즉,''ankosh'' 변수는 null이거나 빈''String''입니다. 중단 점을 사용하고 디버깅하는 방법을 배우십시오. – f1sh