반응형
일일커밋은 정말 어려운것 같다........
내가 게으른것이지만.....
오늘은 시간이 많이 않아 간단히 지난번에 구축한 프레임 위에 뽐뿌를 추가 시켰다.
뽐뿌 또한 크롤링 한 데이터를 json으로 재 구축 후 화면에 json 데이터를 다시 리턴 시켰다.
@PostMapping("ppomppuDataCall")
public @ResponseBody
JSONObject ppomppuDataCall() {
/* json 객체를 담을 json 배열 */
JSONArray jsonArray = new JSONArray();
/* 최종 객체를 담을 json */
JSONObject finalJsonObject = new JSONObject();
try {
//TODO 추후 DB가 구축된다면 DB에서 값을 가져오자
File file = new File("C:/dev/txt/ppomppu.txt");
String URL = "http://www.ppomppu.co.kr/zboard/zboard.php?id=ppomppu";
Document doc = Jsoup.connect(URL).get();
Elements elem = doc.select(".list_title");
Collections.reverse(elem);
for (Element anElem : elem) {
/*새로운 JSON 객체 */
JSONObject tempJsonObject = new JSONObject();
int lastId = readFileId(file);
Element elem1 = anElem.parent();
Element elem2 = anElem.parent().parent().parent().parent().parent().parent().parent().child(0);
String subject = elem1.text();
String link = "http://www.ppomppu.co.kr/zboard/" + elem1.attr("href");
String No = elem2.text();
int sid = Integer.parseInt(No);
if (sid > lastId) {
System.out.println("sid =========" + sid);
System.out.println("subject =========" + subject);
tempJsonObject.put("sid", sid);
tempJsonObject.put("subject", subject);
tempJsonObject.put("link", link);
jsonArray.add(tempJsonObject);
//creatFileId(sid,file);
}
}
} catch (IOException e) {
e.printStackTrace();
}
finalJsonObject.put("ppompu", jsonArray);
System.out.println(finalJsonObject);
return finalJsonObject;
}
화면단에서는
우선 뽐뿌 json 데이터를 리턴 받도록 ajax를 구축하고,
각 각 메뉴를 클릭시 기존에 리스트를 삭제하고, 새로 json 데이터 요청하고, 리턴 받은 json데이터를 가지고 다시 리스트를 그리게 구축 하였다.
<ul class="breadcrumbs">
<li onclick="ruriwebBtnClick()">루리웹</li>
<li class="separator"> </li>
<li onclick="ppomppuBtnClick()">뽐뿌</li>
<li class="separator"> </li>
<li>기타 등등</li>
</ul>
function ruriwebBtnClick(){
var $list_sector = $('#list_sector');
$list_sector.html('');
ruriwebDataCall();
}
function ppomppuBtnClick(){
var $list_sector = $('#list_sector');
$list_sector.html('');
ppomppuDatacall();
}
function ppomppuDatacall() {
$.ajax({
type: 'post',
url: "/ppomppuDataCall",
error: onError,
success: ppompuDataCall_onSuccess
});
}
function ppompuDataCall_onSuccess(resultData) {
$('#list_sector').html('');
$(resultData.ppompu).each(function () {
$('#list_sector').append("<button><span class=\"webname\">뽐뿌</span><br><span class=\"subject\">" + this.subject + "</span></button>")
})
}
여기까지가 이전에 메일을 이용해서 구축해 놓은 단계이다.
이후 단계에는 우선 aws, azure 등을 알아봐서 내 서버를 간단하게 구축을 해볼 생각이다.
반응형
'IT > 웹 크롤링 제작' 카테고리의 다른 글
2019-03-03 네이버 클라우드 플랫폼 micro 서버 이용하기 3_공인ip등록, ftp 설정, jar 실행) (1) | 2019.03.03 |
---|---|
2019-03-01 네이버클라우드 micro 서버 이용하기 2_포트포워딩을 통해 원격접속 설정) (1) | 2019.03.01 |
2019-02-24 네이버클라우드 micro 서버 이용하기 (0) | 2019.02.25 |
2019-02-19 개발 일지 (0) | 2019.02.19 |