게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[자바에요]인터넷 신문기사 내용을 가져와서 저장하는건데요 크릉
게시물ID : programmer_577짧은주소 복사하기
작성자 : 글냥이
추천 : 0
조회수 : 1613회
댓글수 : 6개
등록시간 : 2014/01/19 01:25:18
네이버나 다음이나 인터넷 기사 내용을 가져와서 저장하고 싶어요.
근데 그냥 읽어오면 소스코드 그대로 긁어오게 되어버려서요...
본문 내용만 가져오구 싶어요ㅠㅠ
인터넷 기사 페이지 소스코드를 보면 
(부분만 가져왔습니당. 실제로는 http://media.daum.net/politics/newsview?newsid=20140118183306795 에요)

<div id="mArticlerole="main"> 
    <div id="newsWrap"> 
        <div class="news_wrap"> 
            <!-- 기사 상단 제목--> 
            <div class="section_subject"> 
                                <div id="newsTitle"> 
                    <h3 class="tit_subjectid="newsTitleShadow">박원순 서울시장 "자치단체장은 갈등 조정자"</h3> 
                    <span class="tit_subtit"></span>  
                    <span class="info_data"> 
                    <span class="data">연합뉴스</span> </span> 
                </div> 
            </div> 
            <!-- 기사 툴박스 --> 
            <div id="newsToolBox"></div> 
            <!-- 기사 본문 --> 
            <div class="section_contentid="contentsWrapper"> 
                <h4 class="screen_outid="newsBodyShadow">(안양=연합뉴스) 이복한 기자 = 박원순 서울시장은 18일 "현장에 답이 있고 소통하면 해결점이 보인다"고 말했다.<br><br>박 시장은 이날 오후 5시 안양시청 대강당에서 열린 명사 초청 강연회에서 '소통이 답이고, 밥이고, 일자리입니다'라는 주제의 강연을 통해 이같이 밝혔다.<br><br>박 시장은 "올해는 말띠해인데 진짜 훌륭한 말은 말귀를 잘 알아듣는 말, 즉 소통"이라며 "현장에 답이 있고 대화가 소통"이라고 강조했다.<br><br><div class="imagestyle="width:500px;"><class="img"><img src="http://i2.media.daumcdn.net/svc/image/U03/news/201401/18/yonhap/20140118213206813.jpgwidth="500height="369alt=""></p><class="txt">↑ 강연하는 박원순 서울시장    (안양=연합뉴스) 이복한 기자 = 박원순 서울시장이 18일 오후 안양시청 대강당에서 '소통'을 주제로 강연하고 있다. 2014.1.18    [email protected]</p></div><div class="imagestyle="width:500px;"><class="img"><img src="http://i2.media.daumcdn.net/svc/image/U03/news/201401/18/yonhap/20140118213206866.jpgwidth="500height="393alt=""></p><class="txt">↑ 강연하는 박원순 서울시장    (안양=연합뉴스) 박원순 서울시장이 18일 오후 안양시청 대강당에서 '소통'을 주제로 강연하고 있다. 2014.1.18  << 안양시청 제공 >>   [email protected]</p></div>그는 은평뉴타운 문제, 동대문 거리상점(노점상) 해결 등을 예로 들며 "자치단체장은 갈등 조정자로 시민들과의 소통 속에 아이디어가 나왔다"고 소개했다.<br><br>그는 "21세기 행정은 시민들의 이야기를 잘 들어야 한다"며 "지역 발전은 멀리 있는 것이 아니라 자세히 보면 다 그 안에 답이 있다"고도 했다.<br><br>박 시장은 소통의 중요성을 강조했으나 정치 문제와 관련해서는 언급하지 않았다.<br><br>[email protected]<br><br>(끝)<br><br><dl><dd><br><br></dd><dt></dt></dl><저작권자(c)연합뉴스. 무단전재-재배포금지.><br><br></h4> 
                <div class="screen_outid="newsCopyrightShadow">저작권자(c)연합뉴스. 무단전재-재배포금지</div> 
                <div id="banner250"></div> 
                <!--뉴스 동영상--> 
                <div class="videoid="medipotArea"></div> 
                <!-- 뉴스 본문 --> 
                <div id="newsBody"></div> 
                <!--뉴스 관련기사--> 
                <div id="cpRelatedNewsList"></div> 
                <div id="cpRealtimeMainNewsList"></div> 
                <!--뉴스 하단 툴박스--> 
                <div class="news_footerid="newsFooter"></div> 
                <!-- 추천버튼 --> 
                <div class="news_btn"> 
    <class="btn_news btn_recommid="recommendBtndata-rankup-object-type="MediaNewsdata-rankup-object-id="20140118183306795href="#none"> 
        <span class="inner_recomm"> 
            <span class="screen_out">추천 </span> 
            <span class="txt_num"></span> 
        </span> 
    </a> 
</div>


id="newsBodyShadow">를 기점으로 본문내용이 시작됩니다.
저걸 이용해서 처음 가져올 때 본문 내용만 가져올 수 없나...싶은데요
어케 해야 할까요?ㅠㅠ
밑에 자바코드는 지금까지 만든 코드입니당. ㅜㅜ



/* 
 * 이 프로그램은 인터넷 신문 기사 내용을 저장하기 위해 만들었습니당. 
 * Daum의 경우 신문 기사 url은 보통  
 * http://media.daum.net/society/?newsId=20140118211405428 
 * 형식으로 되어있습니다. 
 * 맨 뒤의 수를 1씩 증가시켜가면서 각 인터넷 기사의 소스코드에 있는 "본문" 부분을 가져올거에요. 
 */
 

import java.io.*; 
import java.net.*; 

public class Boogi { 
    public static void main(String[] args) { 
        // urlName = urlNameDir + urlNameNum; 이런 식으로... 
        String urlNameDir = "http://media.daum.net/society/?newsId="
        long urlNameNum = 20140118211405428L;     
        String urlName = null
         
        // outFileName = dirName + fileName + count + fileFormat; 이런 식으로... 
        // result1.txt, result2.txt, ... 이런 형식으로 저장할거에요. 
        String dirName = "c:/users/woongjin/desktop/data/"
        String fileName = "result"
        int count = 0
        String fileFormat = ".txt"
        String outFileName = null
             
         
        URL url; // 여기서 InputStream을 가져올거에요. 
        BufferedInputStream bis; 
        BufferedOutputStream bos; 
        FileOutputStream fos; 
         
         
        try { 
            for(int i = 0; i < 10; i++) { // 신문기사 몇 개를 가져올건지 정할 수 있어요. 
                // url로부터 InputStream을 가져오구요 
                urlName = urlNameDir + String.valueOf(urlNameNum);     
                url = new URL(urlName); 
                bis = new BufferedInputStream(url.openStream()); 
                 
                // 각 기사에 따라 count를 1씩 늘려가며 새로운 파일을 만들어요. 
                outFileName = dirName + fileName + (++count) + fileFormat; 
                fos = new FileOutputStream(outFileName); 
                bos = new BufferedOutputStream(fos); 
                 
                // 읽어오고 저장합니당. '\\r'은 안하면 이상하게 나오더라구요 킁... 
                int data = 0
                while((data = bis.read()) != -1) { 
                    if(data == '\\n'
                        bos.write('\\r'); 
                    bos.write(data); 
                } 
                 
                bis.close(); 
                bos.close(); 
                urlNameNum++; 
            } 
        } catch(Exception e) { 
            e.printStackTrace(); 
            System.exit(0); 
        } 
    } 
}
꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호