Post

네이버 뉴스 크롤링


package Ex;


import java.io.IOException;

import org.jsoup.Connection;

import org.jsoup.Jsoup;

import org.jsoup.nodes.Document;

import org.jsoup.select.Elements;

import org.jsoup.nodes.Element;


public class ExR {

// static String BASE_URL_F = "URL="; // 페이지 나오기 전 "="까지 복사해서 붙여넣음

// static String BASE_URL_B = "&refresh_star=0"; // "=" 뒤에 숫자를 제외한 나머지 부분을 붙여넣음

// static int BASE_URL_PAGE = 1; // 페이지를 변경하기 위한 변수

// static String COMPLETE_URL = BASE_URL_F + BASE_URL_PAGE + BASE_URL_B; // 완성된 URL 주소


static String BASE_URL_F = "https://search.naver.com/search.naver?where=nexearch&sm=tab_htk.nws&ie=utf8&query=%EC%84%9C%ED%95%B4+%EA%B5%B0+%ED%86%B5%EC%8B%A0%EC%84%A0+%EB%B3%B5%EC%9B%90\r\n";

static String BASE_URL_B = "&refresh_star=0"; // "=" 뒤에 숫자를 제외한 나머지 부분을 붙여넣음

static int BASE_URL_PAGE = 1; // 페이지를 변경하기 위한 변수

static String COMPLETE_URL = BASE_URL_F + BASE_URL_PAGE + BASE_URL_B; // 완성된 URL 주소



public static void main(String[] args) throws IOException

{

// 뉴스 URL

Document doc = Jsoup.connect("http://news.naver.com/main/hotissue/read.nhn?mid=hot&sid1=100&cid=1049580&iid=36776687&oid=001&aid=0009801535&ptype=052").get();

//System.out.println(doc); 

// 개발자도구 F12를 눌러서 본문을 찾는다. 만약 id라면 id=대신#, class= 라면 class대신.이다.

Elements body = doc.select("div#articleBodyContents");

System.out.println(body);

}

}


text 글 정제하기, 타이틀 가져오기


package Ex;


import java.io.IOException;

import org.jsoup.Connection;

import org.jsoup.Jsoup;

import org.jsoup.nodes.Document;

import org.jsoup.select.Elements;

import org.jsoup.nodes.Element;


public class ExR {

// static String BASE_URL_F = "URL="; // 페이지 나오기 전 "="까지 복사해서 붙여넣음

// static String BASE_URL_B = "&refresh_star=0"; // "=" 뒤에 숫자를 제외한 나머지 부분을 붙여넣음

// static int BASE_URL_PAGE = 1; // 페이지를 변경하기 위한 변수

// static String COMPLETE_URL = BASE_URL_F + BASE_URL_PAGE + BASE_URL_B; // 완성된 URL 주소


static String BASE_URL_F = "https://search.naver.com/search.naver?where=nexearch&sm=tab_htk.nws&ie=utf8&query=%EC%84%9C%ED%95%B4+%EA%B5%B0+%ED%86%B5%EC%8B%A0%EC%84%A0+%EB%B3%B5%EC%9B%90\r\n";

static String BASE_URL_B = "&refresh_star=0"; // "=" 뒤에 숫자를 제외한 나머지 부분을 붙여넣음

static int BASE_URL_PAGE = 1; // 페이지를 변경하기 위한 변수

static String COMPLETE_URL = BASE_URL_F + BASE_URL_PAGE + BASE_URL_B; // 완성된 URL 주소



public static void main(String[] args) throws IOException

{

//URL 연결

Document doc = Jsoup.connect("http://news.naver.com/main/hotissue/read.nhn?mid=hot&sid1=100&cid=1049580&iid=36776687&oid=001&aid=0009801535&ptype=052").get();

// 제목

Elements title = doc.select("h3#articleTitle");

String strTitle = title.text();

System.out.println(strTitle);

// 본문

Elements body = doc.select("div#articleBodyContents");

String str = body.text(); // 텍스트만 가져온다

System.out.println(str);

}

}



▲ top