jQuery 기능을 익히고자 파싱 테스트를 해봤다.
크롬브라우저에서 시도하면 https://brunch.co.kr/@adrenalinee31/1 에서 2. 외부요청을 가능하게 해주는 플러그인 설치를 하면 파싱이 잘 된다.
원하는 조건의 selector 를 찾느라고 좀 삽질을 했다.
$(html).find('.wiki-heading').find("a:contains('3.2.')").parent().next().find(".wiki-link-internal")
<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> </head> <body>
<script> var weburl ='https://namu.wiki/w/KBO%20%EB%A6%AC%EA%B7%B8/2018%EB%85%84/%EC%8B%A0%EC%9D% B8%EB%93%9C%EB%9E%98%ED%94%84%ED%8A%B8' $.get(weburl, function( html ) { var data = new Array(); // 찾으려는 className 을 반복적으로 찾는다. var heading = $(html).find('.wiki-heading').find("a:contains('3.2.')").text(); //console.log(heading); var nextclass = $(html).find('.wiki-heading').find("a:contains('3.2.')").parent().next().find(".wiki-link-internal"); $(html).find('.wiki-heading').find("a:contains('3.2.')").parent().next().find(".wiki-link-internal").each( function(){ var text = $(this).parent().text(); if(text !== 'kt' && text !== '삼성' && text !== '롯데' && text !== '한화' && text !== 'SK' && text !== 'KIA' && text !== 'LG' && text !== 'NC' && text !== '넥센' && text !== '두산') { //console.log(text); data.push(text); } });
for(var i=0;i<data.length;i++){ console.log(data[i]); } }); </script>
</body> </html> |
파싱 결과
크롬 브라우저 콘솔상에서 연습해보던 Javascript 코드
var data = document.querySelectorAll('.wiki-table-wrap .wiki-table .wiki-link-internal'); for(var i=0;i<data.length;i++){ var t = data[i]; t = t.innerText; console.log(t); } |