-
오토핫키 연습일지 #6] Winhttp 활용 뉴스기사 크롤링하여 타이틀, 기사 내용 따오기오토핫키/연습일지 2022. 7. 30. 09:24
https://open.kakao.com/me/apsalman
https://www.youtube.com/channel/UC6hW-NrL9CxDQd2IzWbekYA
연습 #6
글로벌경제 항목 기사제목 따오고 더블클릭 시 기사내용을 불러옴 회사에서 점심먹고 뉴스기사들을 조금씩 읽는데 이사님이 뒤에서 일안하고 기사나 보고 있냐는 말에 걸린 이유가 인터넷창을 띄워놓고 있어서 그런게 아닐까 싶어서 바로 만든 프로그램이다.
Winhttp 를 활용하여 html 소스를 먼저 받아온다.
wh := ComObjCreate("WinHTTP.WinHTTPRequest.5.1") wh.Open("Get", "https://www.hankyung.com/economy/0408") wh.Send() Result := RegExReplace(RegExReplace(wh.ResponseText(), " ", ""), "`n`n", "")
Result 변수에 Tab 공백과 2번연속의 줄내림들은 전부 없애준 후 html 를 담아준다.
RegExMatch(Result, "<span class=""thumb"">(.*?)<a href=""(.*?)""(.*?)alt=""(.*?)""><", News)
html 소스에 정규식을 이용하여 기사제목을 가져온다.
사실 이것보다 더 좋은 식이 있겠지만 나는 아직 정규식을 ㅈ도 모르기 때문에 무적의 (.*?) 를 사용한다. ㅋㅋ
그 후 적절하게 리스트뷰를 활용하여 기사타이틀을 달아준다.
if (A_GuiEvent = "DoubleClick") { wh.Open("Get", SiteLink[LV_GetNext("C")]) wh.Send() InNews := RegExReplace(RegExReplace(wh.ResponseText(), " ", ""), "`n`n", "") RegExMatch(InNews, "</figure>(.*?)</div><div class=""empathy-wrap"">", NewsComments) Comments := RegExReplace(RegExReplace(RegExReplace(RegExReplace(RegExReplace(RegExReplace(RegExReplace(NewsComments1, "<br />", "`n"), "<(.*?)>", ""), "'", "'"), "&.*?quo;", """"), "·", "·"), """, """"), "&", "&") }
G라벨에서 만약 리스트뷰에 GuiEvent 더블클릭이 발생 시 해당 작업을 하도록 한다.
그렇게 기사내용을 따올 수 있다.
개인의 연습을 기록한 일지이기 때문에 구체적인 정규식의 설명이나 Gui 레이아웃등은 포함하지 않는다.
'오토핫키 > 연습일지' 카테고리의 다른 글
오토핫키 연습일지 #8] 매크로 제작 툴 만들기 (0) 2022.09.06 오토핫키 연습일지 #7] 오토핫키에서 RichEdit 활용하기 위한 연습 (0) 2022.08.09 오토핫키 연습일지 #5] 다음카페 최신글 크롤링 (1) 2022.07.23 오토핫키 연습일지 #4] 카카오톡 파일 전송 (0) 2022.07.02 오토핫키 연습일지 #3] 네이버 카페 크롤링 후 게시글 타이틀 파싱 (1) 2022.06.21