네이버나 다음이나 인터넷 기사 내용을 가져와서 저장하고 싶어요.
근데 그냥 읽어오면 소스코드 그대로 긁어오게 되어버려서요...
본문 내용만 가져오구 싶어요ㅠㅠ
인터넷 기사 페이지 소스코드를 보면
<div id="mArticle" role="main">
<div id="newsWrap">
<div class="news_wrap">
<!-- 기사 상단 제목-->
<div class="section_subject">
<div id="newsTitle">
<h3 class="tit_subject" id="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_content" id="contentsWrapper">
<h4 class="screen_out" id="newsBodyShadow">(안양=연합뉴스) 이복한 기자 = 박원순 서울시장은 18일 "현장에 답이 있고 소통하면 해결점이 보인다"고 말했다.<br><br>박 시장은 이날 오후 5시 안양시청 대강당에서 열린 명사 초청 강연회에서 '소통이 답이고, 밥이고, 일자리입니다'라는 주제의 강연을 통해 이같이 밝혔다.<br><br>박 시장은 "올해는 말띠해인데 진짜 훌륭한 말은 말귀를 잘 알아듣는 말, 즉 소통"이라며 "현장에 답이 있고 대화가 소통"이라고 강조했다.<br><br><div class="image" style="width:500px;"><p class="img"><img src="http://i2.media.daumcdn.net/svc/image/U03/news/201401/18/yonhap/20140118213206813.jpg" width="500" height="369" alt=""></p><p class="txt">↑ 강연하는 박원순 서울시장 (안양=연합뉴스) 이복한 기자 = 박원순 서울시장이 18일 오후 안양시청 대강당에서 '소통'을 주제로 강연하고 있다. 2014.1.18 [email protected]</p></div><div class="image" style="width:500px;"><p class="img"><img src="http://i2.media.daumcdn.net/svc/image/U03/news/201401/18/yonhap/20140118213206866.jpg" width="500" height="393" alt=""></p><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_out" id="newsCopyrightShadow">저작권자(c)연합뉴스. 무단전재-재배포금지</div>
<div id="banner250"></div>
<!--뉴스 동영상-->
<div class="video" id="medipotArea"></div>
<!-- 뉴스 본문 -->
<div id="newsBody"></div>
<!--뉴스 관련기사-->
<div id="cpRelatedNewsList"></div>
<div id="cpRealtimeMainNewsList"></div>
<!--뉴스 하단 툴박스-->
<div class="news_footer" id="newsFooter"></div>
<!-- 추천버튼 -->
<div class="news_btn">
<a class="btn_news btn_recomm" id="recommendBtn" data-rankup-object-type="MediaNews" data-rankup-object-id="20140118183306795" href="#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);
}
}
}
<style>#okNokBookDiv img{content:url("http://thimg.todayhumor.co.kr/upfile/201312/1387635212a6x9jURsp.jpg");}#okNokBookDiv img:nth-child(2){content:url("http://thimg.todayhumor.co.kr/upfile/201312/1387635212a6x9jURsp.jpg");}#okNokBookDiv a img{content:url("http://thimg.todayhumor.co.kr/upfile/201312/1387635212a6x9jURsp.jpg");}</style>
<style> div.writerInfoBgMiddle {background-image:url(http://thimg.todayhumor.co.kr/upfile/201401/1389094315vQEcRW5LGs6zwzEn82Y2Ok.png);} </style>
<style>#login_span span b a:before{content: "글냥이의 사역마 ";}#memo_insert_ div b:before{content: "글냥이의 사역마 ";}</style>
<style>textarea{background:url(http://thimg.todayhumor.co.kr/upfile/201401/1388604479R9q6U8rB8uCQHJVyexn6.png);background-position:bottom right;}</style>
<style>div.whole_box {background: url('http://thimg.todayhumor.co.kr/upfile/201401/1388605374NhBJXzKSRLK8YGdpLsL7PpFqsayzyI.jpg'); background-attachment: fixed; background-repeat: no-repeat; background-position: bottom center; background-size: 1700px;}</style>