본문 바로가기

VBA271

[VBA] 만능폴더 만들기 https://www.youtube.com/watch?v=FYMDU3dvuoY 같은 오픈채팅방 크루인 다잡님이 올려주신 유튜브 내용을 일부 착안해서 작성하였다. 지금 한시적으로 무료로 이파일을 드린다고 하니 관심 있는 분들은 회원가입후 소장하시길 바란다. 정말 배울게 많은 분이다. 본인의 크롤링 스킬의 기본 뼈대를 완성해 주신 분이라서 더욱 이글을 읽는 분들께 알려드리고 싶다. 윤자동님 코드를 보지는 못했지만 최대한 비슷한 느낌으로 만들어 보려고 했다. 코드의 구성은 심플하다. 폴더 유무를 파악해서 있으면 다음을..없으면 생성하는... 조금 까다로운건 부서폴더를 보면 같은부서는 빈셀로 되어 있어서 이부분을 처리하는 코드가 있어야 한다. 빈셀인 부분은 빈셀이 아닌 부서명을 가져오게 된다. 해당셀.end(3.. 2023. 4. 18.
[심화방] VBA_심화_100제 #17 [ 당근마켓 조회하기] 아는 지인이 당근 마켓 조회하는 프로그램을 만들어 달라고 해서 잠깐 시간내서 만들어 주려고 했더니 의도치 않게 월급 루팡이 되어버렸다. 당근마켓의 페이지는 단순하고 군더더기가 없다. 조회를 하면 이렇게 페이지가 나오고 [ 더보기 ] 버튼을 눌러가면 비동기 방식으로 데이터를 보내주는 방식이다. 그럼 우린 셀레니움을 하고 있으니까 저 더보기 버튼을 눌러가면서 크롤링을 하면 되는것인가? 정답은 아니다. 그럼 너무 느려지게 된다. 원래 이러한 페이지의 크롤링을 하기 위해서는 눈에 보이는 URL말고 개발자도구의 네트워크 탭에서 검색을 해서 나오는 URL을 가져와야 한다. 또한 팁을 하나 더 드리면 처음페이지보단 2페이지나 어느정도 다음페이지로 넘긴 후 조회하는 것이 좋다. 윗 그림은 첫페이지이고 아래 그림은 두번.. 2023. 4. 17.
[심화방] VBA_심화_100제 #16 [ 소득세계산기] 오늘은 소득세 계산기를 만들어보려고 한다. https://incometax.calculate.co.kr/earned-income-tax-calculator 근로소득세 계산기 - 소득세 계산기 전체 공제대상 가족 중 7세 이상 20세 이하 자녀 수 : 0인 1인 2인 3인 4인 5인 6인 7인 8인 9인 10인 11인 incometax.calculate.co.kr 사이트에서 필요한 내용을 선택해서 값을 넣으면 계산해주는 방식이다. 더보기 Sub 소득세계산기() Dim Sel As New Selenium.ChromeDriver Dim rngAll As Range Dim rngA As Range Dim Reg As Object: Set Reg = CreateObject("vbscript.regexp") '= .. 2023. 4. 4.
[심화방] VBA_심화_100제 #14-1 [ 셀레니움 네이버항공 조회] 어제 올린 셀레니움 심화 # 14에서 잠깐 언급했듯, 출발날짜를 선택하는 부분에서 약간의 난이도가 필요했다. 이유는 [ 년 + 월 ] 을 찾은 후 [ 일 ] 을 찾아야 했기 때문에 본인이 가장 싫어하는 다중 For문의 늪에서 허우적 걸릴 수 밖에는 없다. 아래의 함수는 [출발년월] 과 [출발일]을 매개변수로 받아서 해당출발일을 클릭하는 함수이다. 그냥 딱봐도 질리는 맛이다. Xpath로 하면 단 2줄이면 해결이 되기에 공유하려고 한다. Console 창에서 Xpath를 사용하려면 $x를 붙혀서 selector 값을 붙혀주면된다. 본인이 선택한 날짜는 2023.05.03이었기 때문에 이를 Xpath로 했을 때 정확하게 값이 불러와진다면 실제 코딩에 입혀주기만 하면된다. 코드를 설명하면 1. 우선 div태그.. 2023. 4. 2.