티스토리 뷰

자바 언어와 Jsoup API를 사용해서 네이버 뉴스를 파싱해 본다. 원래 인터넷에 붙어서 하는게 맞는데 html을 파일로 만들어 해봤다. 마치 수더 코드라고 생각해도 될듯.

이해하는데는 무리가 없을 듯. 메소드 내용에 핵심적인것은 다 있으니..

예전에는 네이버 뉴스가 각 해당 언론사 링크로 이동된것 같았다. 그래서 뉴스 파싱을 하려면 각 언론사 구조를 모르니 할수가 아니 하는데 한계가 있었다.

그런데 지금 보니 네이버에서 데이터를 가져와 네이버 플랫폼에서 보여지는듯 하다. 그래서 형태가 동일해서 하기가 쉬웠다.

package naver_news;

import java.io.File;
import java.io.IOException;

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

/**
 * news.naver.com 파싱 
 */
public class NaverNews {

	public static void main(String[] args) throws Exception {
		//String url = "http://localhost/main.html";
		//Connection conn = Jsoup.connect(url);
		//Document doc = conn.get();
		//Document doc = Jsoup.connect(url).get();
		
		String file="D:\\개인\\naver_news\\navernewslist.html";
		File input = new File(file);
		Document doc = Jsoup.parse(input, "UTF-8");
		
		Elements es = doc.getElementsByClass("cjs_ctitle _item_title");
		
		NaverNews nn=new NaverNews();
		for (Element e : es) {
			Element eh = e.getElementsByTag("a").first();
			String h = eh.attr("href");
		}
		nn.parseListByUrl("");
		
	}
	
	public void parseListByUrl(String url) throws IOException {
		String file="D:\\개인\\naver_news\\jslist.html";
		File input = new File(file);
		Document doc = Jsoup.parse(input, "UTF-8");
		Elements es = doc.getElementsByClass("press_edit_news_list");
		Element eCont = es.get(0);
		
		Element eh = eCont.getElementsByTag("a").first();
		String href = eh.attr("href");
		System.out.println("href="+href);
		parseContByUrl("");
	}

	public void parseContByUrl(String url) throws IOException {
		String file="D:\\개인\\naver_news\\jscont.html";
		File input = new File(file);
		Document doc = Jsoup.parse(input, "UTF-8");
		Elements es = doc.getElementsByClass("go_trans _article_content");
		Element eCont = es.get(0);
		
		Node tNode=eCont.firstChild();
		String title=tNode.toString();
		title = Jsoup.parse(title).text();
		System.out.println("title="+title);
		String cont=eCont.ownText();
		System.out.println( "cont="+ cont );
		parseImgByUrl("");
	}

	public void parseImgByUrl(String url) throws IOException {
		String file="D:\\개인\\naver_news\\jscont.html";
		File input = new File(file);
		Document doc = Jsoup.parse(input, "UTF-8");
		Elements es = doc.getElementsByClass("go_trans _article_content");
		Element eCont=es.get(0);
		
		Elements eImgs = eCont.select("img");
		
		for (Element e : eImgs) {
			String img = e.attr("data-src");
			System.out.println("img="+img);
		}
	}
}

/*

href=https://n.news.naver.com/article/023/0003756376
title=“아이스 0.5g 되나요” 문자 보내자 5시간 만에 배송 회사원도 주부도 구매… 젊은층으로 급속 확산
cont=지난 3일 새벽 1시 30분, 서울 마포구의 강변북로 진입로 부근. 중앙선을 넘어 역주행하는 30대 남성 김씨와 이를 쫓는 경찰의 추격전이 벌어졌다. 김씨는 이날 익명 채팅앱에서 함께 마약을 투약할 여성을 찾다 신고를 받은 경찰이 출동하자 도주했다. 상수역 일대에서 약 2㎞ 도주한 김씨는 중앙선을 넘어 역주행도 했다. 순찰차 3대로 길목을 가로막고서야 멈춘 김씨는 경찰에 잡히기 직전 증거 인멸을 목적으로 갖고 있던 필로폰을 삼켰다고 한다. 김씨 차량에서는 필로폰 1g이 나왔고, 김씨는 마약류 간이시약검사에서 양성 반응이 나왔다. 경찰 관계자는 “텔레그램 등을 통해 마약을 구매한 것으로 추정된다”고 했다. 경찰은 지난달 1일부터 오는 7월까지 마약류 범죄를 집중 단속하겠다고 예고했다. 하지만 다크웹, 텔레그램 등 신원 추적이 힘든 경로를 통해 마약이 빠르게 확산하고 있다. 이들은 자신들의 마약 구매를 일종의 놀이처럼 ‘인증샷’으로 남기기도 한다. 비트코인 등 암호화폐로 거래가 이뤄지면서 마약 자금에 대한 계좌 추적도 어렵기 때문에, 마약 투약자 사이에선 “경찰에 걸리는 사람이 바보”라는 우스갯소리마저 나온다. ◇주문하면 5~6시간 만에 마약 받아 “저 수서인데, 급(갑자기) 땡겨서 일어남. 아이스(필로폰) 0.5g 오늘 아침 되나요.” 지난 5일 새벽 3시15분, 마약 구매자 A씨는 텔레그램 마약 판매 대화방에 접속해 이렇게 물었다. 1분도 되지 않아 판매책 B씨는 “가능”이라며 무통장입금 번호를 남겼다. A씨가 18분 뒤 “입금 완료”라고 보내자 B씨는 “장소 알려 드릴 테니 잠시 눈 붙이세요”라고 했다. B씨는 마약을 숨겨 놓은 장소 사진과 주소를 남겼고, A씨는 오전 7시55분 “출근하기 전 픽업 잘했습니다. 퀄(퀄리티) 죽입니다. 단골 확정입니다”라는 메시지와 함께 사진을 띄웠다. 사진 속 A씨 손에는 하얀색 가루가 든 봉투가 있었다. 그가 마약을 얻는 데는 5시간 남짓 걸렸다. 둘의 대화는 마약 판매책 B씨가 판촉용으로 올린 텔레그램 대화 캡처 글이다. 본지 기자는 이날 텔레그램을 통해 마약을 판매하는 대화방 5곳에 들어가 봤다. 각 대화방에는 많게는 1800여 명, 적게는 200여 명이 모여 있었다. 대화방에는 마약 거래 가격표와 안내문이 떠 있었다. 대마초의 은어인 ‘버드’가 3g 55만원, 5g에 80만원이란 식이었다. ‘월수입 2000만원 보장한다’는 마약 운반책 공고문도 보였다. 판매자들은 ‘전국 어디든 당일 배송’이라고 광고했다. 실제로 구매 후기들 대다수는 보통 6시간 내에 마약을 받아 인증샷을 올렸다. 판매자들은 마약을 와인 추천하듯 광고하고 있었다. 마약마다 맛, 강도, 바디감 등 평점을 매겨 취향에 맞는 마약을 추천하는 판매업자도 있다. 한 판매업자는 마약 사용 방법 등을 세세하게 적은 뒤 “건전하게 즐기시고 항상 건강하세요”라는 덕담까지 남겼다. ◇일상서 마약 인증샷, 놀이처럼 여겨 이날 하루 텔레그램 마약 판매방 5곳에는 총 47개의 ‘마약 인증샷’이 게재됐다. 대화방을 운영하는 마약 판매상이 구매자와 나눈 대화와 구매 인증샷을 올리는 방식이다. 마약 판매상은 인증샷과 구매 후기를 남기면 다음 구매 시 할인 혹은 마약을 더 주겠다고 광고했다. 서울경찰청 마약범죄수사대 관계자는 “마약 판매상들끼리 경쟁이 치열하다 보니 마약 인증샷을 많이 남겨 구매자들을 더 현혹하려는 수법”이라고 했다. 특히 구매자들은 버스, 지하철, 카페 등 일상 공간에서 마약 인증샷을 찍으며, 마약을 ‘놀이’처럼 여기는 듯한 인상을 풍기고 있다. 한 구매자는 자신의 무릎에 사탕 크기만 한 검은색 포장지를 올려놓은 사진을 올리며 “버스 타면서 몰래 마약하는데 짜릿”이라고 했다. 다른 구매자는 운전대 위에 필로폰으로 추정되는 하얀색 가루 인증샷과 함께 “집에 가는 중인데 신호 대기 중 못 참고 조금”이라고 했다. 카페로 보이는 한 공간에서 커피와 함께 마약을 찍은 이들도 있었다. 한 구매자는 “경찰서 담벼락 옆. 쫄리면서(긴장되면서) 기절 직전에 집 다행히 옴”이라고 했다. ◇직장인, 가정주부, 학생도…범죄 의식 없이 구매 최근 수개월 사이 마약 혐의로 적발된 사람들은 유명 연예인뿐 아니라 유통회사 대표, 미용실 원장, 가정주부 등 다양했다. 기자가 텔레그램을 통해 인터뷰한 2명의 마약 구매자도 본인을 회사원, 가정주부라고 소개했다. 이들은 마약 구매가 범죄라는 사실을 인정하면서도 “남용하지 않으니 문제없다”고 했다. 자신을 회사원이라고 밝힌 구매자는 “업무 스트레스가 심해 한 달에 한두 번 정도 할까 말까”라며 “술, 담배 사는 비용과 맞먹으니 이 정도면 비용 대비 효율적인 거 아니냐”고 했다. 가정주부라는 다른 구매자는 “낮에 할 게 없어 취미 삼아 하는 거지, 난 약쟁이 같은 그런 중독은 아니다”라고 했다. 안동현 마약범죄수사대장은 “마약은 과거 조폭 등이 몰래 하는 범죄로 여겨졌는데, 요즘은 일반 사람들이 마치 게임처럼, 일탈처럼 여기는 게 가장 큰 문제”라고 했다.
img=https://imgnews.pstatic.net/image/023/2023/04/07/0003756443_001_20230407073001128.jpg?type=w647
img=https://imgnews.pstatic.net/image/023/2023/04/07/0003756443_002_20230407073001171.png?type=w647

*/
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함