원래 계획은 시리즈로
1. 현재가 가져오기
2. 종목 토론방 가져오기
3. 코스피 코스닥 종목과 종목코드 가져오기
4. 종목에 따른 동적인 변화를 이벤트를 통해 크롤링 하는것을 계획했는데, 글이 한두개 밀려서
현재가에서 ~~ 이벤트로 퀀텀 점프를 해버렸다..
연말이라서 정신이 없으니 이해 바란다.
그냥 몇일동안 해야할걸 한방에 보게 되었다 생각하시길...
주의 할 것은
평소에는 차트가 가려져 있고
[저가] 밑에 화살표 버튼을 눌러야
비로소 차트가 보이게 된다.
이 코드는 숨기기 버튼을 누르고 차트의 일봉 주봉 월봉 중 일봉 차트를 클릭하는 구문이다.
Sel.FindElementByCss("#btn_close").Click
Sel.FindElementByCss("#chart_area > div.chart > div > dl.bar > dd > ul > li.day > a").Click
더보기
Sub 주식토론방()
Dim Sel As New Selenium.WebDriver
Dim strurl$
Dim rngX As Range: Set rngX = [c20]
Dim rngP As Range: Set rngP = [c5:h16]
Dim Nodes As Object
Dim Obj As Object
Dim rngall As Range: Set rngall = [c20].CurrentRegion
Dim Chart$
Dim i&
Haja_Clear rngall '= 초기화
Application.ScreenUpdating = False
strurl = "https://finance.naver.com/item/board.naver?code=" & Sheets("종목토론방").[e3]
Sel.AddArgument "--headless" '= 헤드리스 모드
Sel.Start "chrome" '= 크롬으로 진행
Sel.Get strurl
Sel.FindElementByCss("#btn_close").Click
Sel.FindElementByCss("#chart_area > div.chart > div > dl.bar > dd > ul > li.day > a").Click
Set Nodes = Sel.FindElementByCss(".no_today>em") '= 현재가
[d1] = Replace(Nodes.Text, Chr(10), "")
Chart = Sel.FindElementByCss("#img_chart_area").Attribute("src") '= 차트 URL 가져오기
ActiveSheet.Shapes.AddPicture Chart, False, True, rngP.Left, rngP.Top, rngP.Width, rngP.Height + 2
'= 차트 삽입
'= 토론방 구문
Set Nodes = Sel.FindElementsByCss("tbody")(2).FindElementsByCss("tr>td")
For Each Obj In Nodes
If Obj.Text <> "" Then
i = i + 1
Application.EnableEvents = False '= 이벤트를 안 끄면 토론방 글들이 출력될때마다
rngX(1, i) = Obj.Text '= 이벤트가 발생하기에 잠시 꺼놓자
Application.EnableEvents = True
End If
If i >= 6 Then Set rngX = rngX.Offset(1): i = 0
Next Obj
'= 토론방 구문
Application.ScreenUpdating = True
rngall.HorizontalAlignment = xlCenter
rngall.Borders.LineStyle = 1
' MsgBox "주식 토론방 출력을 완료했습니다."
End Sub
Function Haja_Clear(rngall As Range)
Dim Pic As Shape
rngall.ClearContents
For Each Pic In ActiveSheet.Shapes
If InStr(Pic.Name, "Pic") > 0 Then Pic.Delete
Next Pic
End Function
더 추가해서 더 똑같이 만들려고 했으나, 같은 작업의 반복이라 여기까지 진행하도록 하겠다...
새해에도 더 멋진 VBA 엑사남들이 되길 희망한다.
'VBA > 엑사남_심화방' 카테고리의 다른 글
[심화방] VBA_심화_100제 #6 [ 스크린샷 ] (4) | 2023.01.09 |
---|---|
[심화방] VBA_심화_100제 #5 [ Sk엔카 크롤링 ] (0) | 2023.01.06 |
[심화방] VBA_심화_100제 #4 [ 네이버 박스오피스 ] (0) | 2023.01.05 |
[심화방] VBA_심화_100제 #2 [ 네이버 뉴스 ] (0) | 2022.12.26 |
[심화방] VBA_심화_100제 #1 [ 네이버 주식 현재가 ] (0) | 2022.12.25 |
댓글