해결 엑셀2016윈도우10
네이버 파파고 크롤링 관련으로 문의 드립니다.
안녕하세요!
네이버 파파고를 통해 엑셀에 있는 영문을 한글로 번역하는 코드를 짜고 있습니다.
크롬브라우져를 띄워서 진행하는 것은 이상없이 성공하였으나 속도가 만족스럽지 않아 찾아보던 중
XML 방식으로 하면 더 빠드라는 것을 알게되어 해당 방식으로 코드를 짜는 과정에서 막히는 부분이 있어 문의드립니다.
현재 테스트를 위해 아래와 같이 코드를 짠 상태인데
438오류 (해당 개체가 이 속성 또는 메서드를 지원하지 않습니다.)가 뜨면서 진행이 되지 않고 있습니다.
혹시 몰라서 찾는 값을 getElementsByClassName으로 변경하여 진행하였는데 이번에는 개체를 찾을 수 없다는 오류가 뜨더라구요 ㅠ
여기서 추가로 getElementsByTagName으로 변경 (span)을 찾는데 마찬가지로 개체를 찾을 수 없다는 오류가...ㅠㅠ
(class와 tag 모두 뒤에 (숫자) 함께 세팅하여 실행해봤습니다!)
참조 설정과 코드는 하단에 첨부하였습니다!
(보다 상세한 코드의 경우 https://papago.naver.com/?sk=en&tk=ko&hn=0&st=adbc 로 접속하시면 되시겠습니다!)
혹 어느 부분이 잘못된건지 알 수 있을까요 ㅠㅠ?
====
Sub TEST()
Dim Http As New XMLHTTP60
Dim Html As New HTMLDocument
Dim strURL As String
strURL = "https://papago.naver.com/?sk=en&tk=ko&hn=0&st=adbc"
Http.Open "GET", strURL
Http.send
While Http.readyState <> READYSTATE_COMPLETE
DoEvents
Wend
Html.body.innerHTML = Http.responseText
Debug.Print Html.body.getElementById("txtTarget").innerText
Set Html = Nothing
Set Http = Nothing
End Sub
===

네이버 파파고를 통해 엑셀에 있는 영문을 한글로 번역하는 코드를 짜고 있습니다.
크롬브라우져를 띄워서 진행하는 것은 이상없이 성공하였으나 속도가 만족스럽지 않아 찾아보던 중
XML 방식으로 하면 더 빠드라는 것을 알게되어 해당 방식으로 코드를 짜는 과정에서 막히는 부분이 있어 문의드립니다.
현재 테스트를 위해 아래와 같이 코드를 짠 상태인데
438오류 (해당 개체가 이 속성 또는 메서드를 지원하지 않습니다.)가 뜨면서 진행이 되지 않고 있습니다.
혹시 몰라서 찾는 값을 getElementsByClassName으로 변경하여 진행하였는데 이번에는 개체를 찾을 수 없다는 오류가 뜨더라구요 ㅠ
여기서 추가로 getElementsByTagName으로 변경 (span)을 찾는데 마찬가지로 개체를 찾을 수 없다는 오류가...ㅠㅠ
(class와 tag 모두 뒤에 (숫자) 함께 세팅하여 실행해봤습니다!)
참조 설정과 코드는 하단에 첨부하였습니다!
(보다 상세한 코드의 경우 https://papago.naver.com/?sk=en&tk=ko&hn=0&st=adbc 로 접속하시면 되시겠습니다!)
혹 어느 부분이 잘못된건지 알 수 있을까요 ㅠㅠ?
====
Sub TEST()
Dim Http As New XMLHTTP60
Dim Html As New HTMLDocument
Dim strURL As String
strURL = "https://papago.naver.com/?sk=en&tk=ko&hn=0&st=adbc"
Http.Open "GET", strURL
Http.send
While Http.readyState <> READYSTATE_COMPLETE
DoEvents
Wend
Html.body.innerHTML = Http.responseText
Debug.Print Html.body.getElementById("txtTarget").innerText
Set Html = Nothing
Set Http = Nothing
End Sub
===

루
김
꽁
쿠
댓글 2
여기 들어가서 페이지 구조를 보니 javascript로 영어를 받아서 한국어 결과를 callback 하게 동작하네요
아마 악성 크롤링을 막으려고 callback 으로 한번에 처리하지 않고, 임의개체에 값을 받아와서 파파고 api로 번역한 다음에 출력하도록 되어있는데, xml로도 가능할지?는 모르겠지만.. 쉽진 않을 것 같습니다
파파고에 API가 따로 있는 걸로 아는데 그거 한번 사용해보세요
api를 통해서 해본적이 없는데 으.. 새로운 걸 배워야겠군요 @@