본문 바로가기

기타 학습 정리

나라장터 더보기 자동클릭

친구가 나라장터에서 더보기를 자동클릭되게 할 수 없냐고 물어보았다.

나는 검색해서 오토클릭되는것을 알려줬으나 이게 더보기 위치가 바뀐다고 하였다. 직접 들어가보니 참 희한하게 되어있다. 예를들어 1,2,3,4,5,6,7,8,9,10 페이지까지 다 봤으면 페이지가 2,3,4,5,6,7,8,9,10,11 로 넘어가는게 아니라 11로 딱 넘어가서 바로 뒤에 있는 더보기 위치가 계속 바뀌었다.

 

그래서 파이썬으로 크롤링을 하는 프로그램이 깃헙에 올라와있길래 다운받아서 테스트 해봤는데 내가 파이썬 문법을 몰라서 그런지 날짜를 변경해서 해봐도 데이터가 변경되지가 않았다. 

 

내 친구가 원하는 것은 더보기 버튼을 끝까지 누르면 마지막에 더보기 버튼이 없어지고, 그 다음에 왼쪽 상단에 있는 엑셀파일 다운버튼을 누르면 이때까지의 모든 자료가 다 다운이 된다고 하는데... 애초에 왜 이따위로 만들었는지 의문이다. 

 

결국 크롬 개발자 도구를 이용해서 document에 element를 찾아서 그냥 클릭 이벤트를 실행시키도록 하였다.

 

let test4 = setInterval(() => {document.getElementsByTagName("frame")[1].contentDocument.getElementById("pagination").childNodes[document.getElementsByTagName("frame")[1].contentDocument.getElementById("pagination").childNodes.length - 2].click()}, 2000)

 

코드는 위와 같다.

 

조금 힘들었던 점은 더보기 클릭 버튼에 id나 class가 없어서 마지막 자손만 가지고 오도록 했는데 이게 띄어쓰기가 있는 경우에는 #text가 마지막으로 잡히게 되서 어쩔수 없이 그 바로 앞에 있는 a 태그를 가져와야 했기 때문에 저렇게 length로 처리해서 가져오도록 했다. 

 

이 부분은 추후 잘 정리해서 유튜브로 영상을 올릴 계획이다.