새로운 AI 툴
https://poe.com/
https://gemini.google.com/app
Gemini - 대화를 통해 아이디어를 강화하세요
Bard가 Gemini로 바뀌었습니다. Google AI의 도움을 받아 글을 쓰고, 계획하고, 학습해 보세요.
gemini.google.com
SCC
'인터넷익스플로러 열고 닫기
Function OpenIEAndCloseIE()
End Function
GET 방식
https://www.google.com/search?q=schd&page=1
url : https://www.google.com/search => ? 뒤에 파라메터가 옴 각 파라메터는 & 로 이어짐.
parameta1 : q = chd
parameta2 : page = 1
html 구조
1번 방법 : html page를 개발자 도구로 분석 ( F12 )
2번 방법 : html page > 원하는 요소 커서위치 > 오른쪽 마우스, 검사 > 요소찾기(ctrl + f)
html 파일 예시
크롤링
가 능 : 정적 웹페이지 (www.google.com)
불가능 : 동적 웹페이지(www.ilovehadan.com)
실습파일
'찾을 요소를 문자로 받아 그 요소의 텍스트를 리턴하는 함수
Function OpenIEAndGetText(el As String) As String
Dim ie As Object
Dim elements As Object
Dim rt As String
rt = "" '리턴값
' 인터넷 익스플로러 열기
Set ie = OpenIE()
' 웹 사이트 접속
ie.Navigate "https://www.google.co.kr/search?q=QQQM"
' 페이지 로드 완료될 때까지 대기
Do While ie.Busy = True Or ie.ReadyState <> 4
DoEvents
Loop
On Error Resume Next ' 예외처리 : 오류무시
'1)클래스명으로 요소 가져오기
Set elements = ie.Document.getElementsByClassName(el)
'2)테그명으로 요소 가져오기
'Set elements = IE.Document.getElementsByTagName(el)
'3)css selector로 요소 가져오기
'Set elements = ie.Document.querySelector(el)
'Debug.Print (elements.innerText)
'가져온 요소 순회
For Each element In elements
'If element.innerText Like "*원*" Then
Debug.Print (element.innerText)
rt = element.innerText
'End If
Next
On Error GoTo 0 ' 오류 처리 복구
' 인터넷 익스플로러 닫기
'CloseIE ie
' h1 태그의 텍스트 반환
OpenIEAndGetText = rt
End Function
Sub OpenIEAndGetText_test()
Dim rt As String
Dim h1Text As String
rt = ""
rt = OpenIEAndGetText("BNeawe iBp4i AP7Wnd")
'Debug.Print (ExtractNumericValue(rt))
End Sub
Function ExtractNumericValue(ByVal str As String) As Double
Dim result As Double
Dim i As Long
Dim temp As String
result = 0
temp = ""
' 문자열에서 숫자와 소수점만 추출
For i = 1 To Len(str)
If IsNumeric(Mid(str, i, 1)) Or Mid(str, i, 1) = "." Then
temp = temp & Mid(str, i, 1)
End If
Next i
' 쉼표(,) 제거
temp = Replace(temp, ",", "")
' 숫자 형식으로 변환
If temp <> "" Then
result = CDbl(temp)
End If
ExtractNumericValue = result
End Function
Sub ExtractNumericValue_test()
Debug.Print (ExtractNumericValue("1,235.80"))
End Sub
'스터디내용' 카테고리의 다른 글
자주 사용하는 VBA 코드 스니펫 (0) | 2024.04.04 |
---|---|
value_averaging(3)-최종화 (0) | 2024.03.21 |
Value averaging code (1) (0) | 2024.02.23 |
value averaging (0) | 2024.02.22 |
SelectionChange, Change 차이 (0) | 2024.01.04 |