-
오토핫키 연습일지 #12] WinHttp 를 이용하여 사이트 로그인오토핫키/연습일지 2022. 11. 2. 01:58
https://apsalman.tistory.com/75
https://www.youtube.com/channel/UC6hW-NrL9CxDQd2IzWbekYA
연습 #12
시작
WinHttp 를 이용하여 네이버나 다음같은 메이저 사이트가 아닌 작은 커뮤니티 같은 곳을 로그인하기 위해 연습을 했다.
나는 개인 사이트를 가지고 있지 않기 때문에 테일스타라는 사이트를 활용해보도록 하겠다.
크롤링을 하기 전에 반드시 robots.txt 를 확인해야 한다. 이것은 법이 아니지만 하나의 규칙이기 때문이다.
크롤링을 허용한다. 물론 이것이 무한한 트래픽을 보내도 괜찮다는 뜻이 아니다.
https://tailstar.net/index.php?act=dispMemberOwnDocument&mid=main
위에는 그냥 테일스타 주소가 아니라 내가 지금까지 작성한 게시글 리스트를 확인할 수 있는 주소이다.
로그인을 하지 않으면 정보가 나타나지 않고
element 에도 이렇게 정보를 보여주지 않는다.
그러므로 우리는 로그인을 하고 해당 주소의 정보를 가져오는 것을 연습할 것이다.
준비
https://www.telerik.com/fiddler
웹 디버깅 툴인 피들러를 준비한다.
테일스타 로그인
이런식으로 정보들이 뜬다
이 곳에서 우리가 필요한 정보는
Content-Type
User-Agent
Accept
Referer
너 뭐야? 를 답할 때 쓰는 정보 4개
Cookie
error_return_url ....
내가 누군지 증명할 때 쓰는 정보 2개
이렇게 6개이다.
근데 테일스타 같은 경우에는 동적 크롤링을 위해 cookie 가 필요없다. 그러므로 이 단계는 생략하겠다.
코드
wh := ComObjCreate("WinHttp.WinHttpRequest.5.1")
Winhttp 오브젝트를 콜해준다.
wh.Open("Post", "https://tailstar.net/") wh.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36") wh.SetRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9") wh.SetRequestHeader("Referer", "https://tailstar.net/index.php?mid=main&act=dispMemberLoginForm") wh.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
헤더를 먼저 설정해준다.
wh.Send("error_return_url=%2Findex.php%3Fmid%3Dmain%26act%3DdispMemberLoginForm&mid=main&vid=&ruleset=%40login&success_return_url=https%3A%2F%2Ftailstar.net%2Fmain&act=procMemberLogin&xe_validator_id=modules%2Fmember%2Fskins&user_id=아이디&password=비밀번호")
나의 개인정보를 쏴준다. error_return_url... 의 정보를 사용했다.
wh.Open("Get", "https://tailstar.net/index.php?act=dispMemberOwnDocument&mid=main") wh.Send() Clipboard := wh.ResponseText
그 이후 작성 게시글 목록의 HTML 소스를 받아온다.
결과
잘 받아온다. 이제 이 정보를 쓰는 것은 정규식을 활용하면 될 것이다.
'오토핫키 > 연습일지' 카테고리의 다른 글
오토핫키 연습일지 #14] 네이버 카페 아이디 이메일 추출 (1) 2022.11.15 오토핫키 연습일지 #13] WinHttp 로그인 상태 유지 (1) 2022.11.05 오토핫키 연습일지 #11] 메이플 오토룬 (1) 2022.10.06 오토핫키 연습일지 #10] 정해둔 파일들 손쉽게 실행하기 feat. 휠다운, 툴팁 (0) 2022.09.28 오토핫키 연습일지 #9] 삼항연산자 (1) 2022.09.16