개인 자료란 (JE)

  서버 커뮤니티

Profile PGping 대표칭호 없음

PGping 61e952c381e949abb7f34bb4434d0569

Profile

커뮤니티 소통 개발하기 기타강좌

[오토핫키 강좌] 파싱에 도움을 줄 함수

2020.01.17 조회 수 435 추천 수 1

이번글은 강좌글이 아니라

파싱에 도움을 줄 함수입니다.


함수를 알려드리기 전에 '파싱에 대하여(1)' 에서는

아래와 같은 방식으로 사이트의 html 값을 가져왔습니다.

매번 적으면 귀찮으니 미리 함수 형식으로 만들어서 필요할때마나 호출해서 사용하는겁니다.


winHttp := ComObjCreate("WinHttp.WinHttpRequest.5.1") 

winHttp.Open("GET","https://www.naver.com") ;

winHttp.Send("") 

winHttp.WaitForResponse( ) ;

Data:= winHttp.ResponseText


아래는 함수입니다.


Data:=ReadURL("https://www.naver.com") 

;변수:=ReadURL("사이트 주소")

;위와 같은 방법으로 사용할 수 있습니다.


ReadURL(URL, encoding = "utf-8") {

static a := "AutoHotkey/" A_AhkVersion

if (!DllCall("LoadLibrary", "str", "wininet") || !(h := DllCall("wininet\InternetOpen", "str", a, "uint", 1, "ptr", 0, "ptr", 0, "uint", 0, "ptr")))

    return 0

c := s := 0, o := ""

if (f := DllCall("wininet\InternetOpenUrl", "ptr", h, "str", url, "ptr", 0, "uint", 0, "uint", 0x80003000, "ptr", 0, "ptr"))

{

    while (DllCall("wininet\InternetQueryDataAvailable", "ptr", f, "uint*", s, "uint", 0, "ptr", 0) && s > 0)

    {

        VarSetCapacity(b, s, 0)

        DllCall("wininet\InternetReadFile", "ptr", f, "ptr", &b, "uint", s, "uint*", r)

        o .= StrGet(&b, r >> (encoding = "utf-16" || encoding = "cp1200"), encoding)

    }

    DllCall("wininet\InternetCloseHandle", "ptr", f)

}

DllCall("wininet\InternetCloseHandle", "ptr", h)

return o

}




1개의 댓글

DDang_
2020.01.17

추천입니다

뉴스 및 창작물
/files/thumbnails/150/925/003/262x150.crop.jpg?20241123005717

건축

응답하라 1988 ?

팀뉴일리시

2024-11-23

1

/files/thumbnails/761/908/003/262x150.crop.jpg?20241025153749

건축

서울 숭례문(崇禮門) 5

KHC

2024-10-25

2

/files/thumbnails/578/899/003/262x150.crop.jpg?20241010142350

건축

경주 월정교 1

KHC

2024-10-10

2

/files/thumbnails/219/899/003/262x150.crop.jpg?20241009200950

건축

송전탑+도시 2

dbasd12

2024-10-09

2

/files/thumbnails/246/898/003/262x150.crop.jpg?20241008102328

레드스톤

단다단 - 오토노케(オトノケ) | 마인크래프트 노트블럭 커버

노트블럭전문가

2024-10-08

1