RUBY

[안드로이드]jsoup을 이용한 네이버 실시간검색어 파싱 본문

STUDY/Android

[안드로이드]jsoup을 이용한 네이버 실시간검색어 파싱

RUBY_루비 2020. 8. 16. 23:59

jsoup을 이용해서 네이버 실시간 검색어를 파싱해오는 앱을 만들어 볼께요

jsoup을 이용하기전에 준비과정은 이전 포스팅을 참고해주세요^^

https://blog.naver.com/scordelia00/221343394008

 

[안드로이드]안드로이드스튜디오 jsoup

JSOUP은 html, xml 등을 파싱하는 자바 라이브러리jsoup사용법 1. library 추가를 해야합니다 . libra...

blog.naver.com

실시간 검색어를 클릭하면 네이버에서 실시간 검색어를 파싱해 와서 보여주도록 구현하였습니다.

package com.droid.jsoup;

import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

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

import java.io.IOException;


public class MainActivity extends Activity {

        private TextView tv;

        class RealTask extends AsyncTask<Void,Void,String>{
            @Override
            protected String doInBackground(Void... voids) {
                StringBuilder sb=new StringBuilder();
                //실시간 검색어를 가져오기위한 String객체(String 과는 차이가 있음)
                try {
                    Document doc= Jsoup.connect("http://www.naver.com/").get();
                    Elements els=doc.select(".ah_l .ah_item"); //클래스는 .
                    for(Element e:els){
                        sb.append(e.select(".ah_r").text())
                          .append(".")
                          .append(e.select(".ah_k").text())
                          .append("\n");
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
                return sb.toString();
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                tv.setText(s);
            }
        }
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        tv=(TextView)findViewById(R.id.tv);

        Button select=(Button)findViewById(R.id.select);
        select.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                new RealTask().execute();
            }
        });
    }
}

 

1. 태그가져오는법

:네이버에서 f12를 누르고 개발자 옵션에서 실시간 검색어부분의 태그를 봅니다.

Comments