무료 매크로 프로그램 다운로드
http://ngmsoftware.com/bbs/board.php?bo_table=product1&wr_id=32
엔지엠소프트웨어
엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.
www.ngmsoftware.com
#매크로 #매크로프로그램 #메크로 #g매크로 #마우스매크로 #키보드매크로 #엑셀매크로 #키매크로 #수강신청매크로 #로지텍마우스매크로 #매크로키보드 #파이썬매크로 #매크로뜻 #매크로마우스 #로지텍매크로 #ld플레이어매크로 #오토마우스매크로 #키보드마우스매크로 #오토핫키매크로 #이미지매크로 #이미지인식매크로 #하드웨어매크로 #화면인식매크로 #선착순매크로 #이미지서치매크로 #한글매크로 #심플핫키 #simplehotkey #지존매크로
검색 매크로 프로그램을 작성하는 방법은 크게 두 가지가 있습니다. 하나는 브라우저 자동화 라이브러리인 Selenium을 사용하는 것이고, 다른 하나는 HTTP 요청을 보내는 방법입니다.
- Selenium을 사용하는 방법
Selenium을 사용하여 검색 매크로를 작성하는 방법은 다음과 같습니다.
먼저, Selenium을 설치합니다. Visual Studio를 사용하는 경우, "Tools" > "NuGet Package Manager" > "Manage NuGet Packages for Solution" 메뉴를 열고 Selenium.WebDriver 패키지를 검색하여 설치하십시오.
그런 다음, 다음과 같은 코드를 작성합니다.
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using System;
class Program {
static void Main(string[] args) {
// Chrome 드라이버 초기화
IWebDriver driver = new ChromeDriver();
// 구글 검색 페이지로 이동
driver.Navigate().GoToUrl("https://www.google.com");
// 검색어 입력
IWebElement searchInput = driver.FindElement(By.Name("q"));
searchInput.SendKeys("검색어");
// 검색 버튼 클릭
IWebElement searchButton = driver.FindElement(By.Name("btnK"));
searchButton.Click();
// 검색 결과 출력
IWebElement resultStats = driver.FindElement(By.Id("result-stats"));
Console.WriteLine(resultStats.Text);
// 브라우저 종료
driver.Quit();
}
}
이 코드는 구글 검색 페이지로 이동하고, 검색어를 입력하여 검색 버튼을 클릭한 후 검색 결과를 출력하는 예제입니다.
- HTTP 요청을 보내는 방법
HTTP 요청을 보내는 방법을 사용하여 검색 매크로를 작성하는 방법은 다음과 같습니다.
먼저, 검색어를 인코딩합니다.
string keyword = "검색어";
string encodedKeyword = System.Web.HttpUtility.UrlEncode(keyword, System.Text.Encoding.UTF8);
그런 다음, 검색 결과를 가져오기 위해 다음과 같은 HTTP 요청을 보냅니다.
using System.IO;
using System.Net;
using System.Text;
class Program {
static void Main(string[] args) {
// 검색어 인코딩
string keyword = "검색어";
string encodedKeyword = System.Web.HttpUtility.UrlEncode(keyword, System.Text.Encoding.UTF8);
// HTTP 요청 보내기
string url = "https://www.google.com/search?q=" + encodedKeyword;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36";
request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3";
request.Headers.Add(HttpRequestHeader.AcceptLanguage
검색 키워드와 연관된 검색얼를 어떻게 활용해야 하는지에 대해 알아보도록 하겠습니다. 참고로~ 저는 마케팅과 관련된 업무를 해본적이 없기 때문에 검색 키워드로를 엔지엠소프트웨어에서는 이렇게 사용하고 있구나 정도로만 이해해 주시면 좋을거 같습니다^^; 테스트를 위애 엔지엠 에디터를 실행하고 새로운 스크립트를 하나 추가하세요.
항상~ 뭔가를 만들때는 조사와 분석이 필수입니다. 무턱대고 시작하면 실패할 확률이 높아지기 때문인데요. 꼭 소프트웨어 개발뿐만 아니라 세상 모든 일들이 조사와 분석을 충분히 한 후 진행해야 실패가 없습니다. 자~ 연관 검색어를 가져오기 위해서는 여러가지 방법들이 존재합니다만, 오늘은 가장 간단한 방법을 알려드리도록 할께요. 우선, 네이버에 접속해서 검색어에 "매크로"를 입력 해보세요. 아래 그림과 같이 매크로와 관련된 검색어들을 목록으로 보여줍니다.
※ 매크로 연관 검색어에 엔지엠 매크로도 나오면 정말 좋겠지만... 인지도 낮아서 그런지 안나오는군요^^
연관 검색어를 어떻게 가져올지 분석을 해봐야 합니다. 참고로, 웹개발을 오래 하신 분들은 웹페이지가 어떻게 동작하는지만 봐도~ 이미 머리속에 그려지고 있을겁니다. 일단, 부분 페이지가 변화하고 있다는걸 눈치채야 합니다. 키보드로 하나 하나 입력할 때 마다 연관 검색어가 변화하면서 실시간으로 반영되고 있습니다. 그렇다는 의미는 비동기로 서버에 요청(Request)과 응답(Response)이 발생하고 있다는 뜻입니다. 포털 사이트들은 SPA(Single Page Application)를 도입하기엔 열러가지 문제들이 있지만, 대부분의 회사들이 SPA를 사용하고 있고, 핵심은 비동기 콜백입니다. 검색창도 비동기 콜백으로 되어 있습니다.
구글 크롬에서 F12를 누르면 개발자 도구가 표시됩니다. 개발자 도구에서 네트워크(Network)탭을 클릭한 후 네이버에서 "매크로"를 입력 해보세요. 그러면, 네이버 검색엔진 서버로 입력한 키워드의 연관 검색어를 요청하고, 응답으로 Json포멧의 연관 검색어 목록을 받을 수 있습니다.
네이버로 요청하는 연관 검색어의 쿼리는 아래와 같습니다. 연관 검색어를 요청하는 내용은 q(Query 아니면 Question이겠죠? 아마 쿼리가 맞을듯 합니다.) 다음에 나오는 부분이라서 이건 필수 파라메터일겁니다. 그리고, 나머지는 대부분 필요 없는 부분일거예요. st=100 파라메터도 필수입니다.
https://ac.search.naver.com/nx/ac?q=매크로&con=0&frm=nv&ans=2&r_format=json&r_enc=UTF-8&r_unicode=0&t_koreng=1&run=2&rev=4&q_enc=UTF-8&st=100&_callback=_jsonp_3
그래서, 주소에 정리한 내용을 다시 요청해보면 동일하게 연관 검색어 목록을 가져오는걸 알 수 있습니다.
https://ac.search.naver.com/nx/ac?q=매크로&st=100
Restful API가 GET 이라서 가능한 부분입니다. POST로 되어 있다면 다른 방법을 이용해야 합니다. 이 부분은 기회가 되면 나중에 다시한번 글을 작성하도록 할께요. 이제 엔지엠 에디터에서 [ 웹서비스 ] 액션을 추가한 후 주소에 "https://ac.search.naver.com/nx/ac?q=매크로&st=100" 이 내용을 넣어줍니다. 그리고, 컨텐츠 처리 옵션을 재이슨(Json)으로 변경하세요.
매크로를 실행하면 아래 동영상과 같이 요청에 응답으로 Json 포멧의 연관 검색어 목록을 받아옵니다. 결과를 보니 검색어 파라메터의 q가 쿼리가 맞군요^^;
응답 결과를 클릭 해보면, 아래와 같이 트리 구조로 내용을 확인할수도 있습니다. 아래 내용을 보면 items안에 10개의 항목이 있고, 그 안에 첫번째로 연관 검색어들이 들어 있습니다.
위와 같은 구조를 확인 했으면 [ Json 모델 ] 액션을 통해 연관 검색어만 추출해야 합니다. 그전에 [ 변수 ]를 2개 추가하고 각각 이름을 배열과 연관 검색어로 설정하세요.
Json 모델은 아래와 같이 속성을 설정 해줍니다. 네이버로부터 연관 검색어를 받아온 후 이 내용을 변수에 저장해줍니다. 그리고, Json 모델에서 이 데이타로 모델을 만들어줍니다. 속성 이름은 items이지만, 하이어라키(Hierarchy, 계층) 구조를 가지고 있으므로 items 아래 10개 아래 0번째를 모두 가져올 수 있게 해야 합니다. 그래서, 속성 이름에 "items/0/0"과 같이 슬래시로 인덱스를 적어줘야 합니다.
변수 처리 관련해서는 아래 동영상을 참고하세요.
메모장에 연관 검색어를 모두 기록하기 위해 [ 마우스 클릭 ] 액션과 [ 텍스트 쓰기 ] 액션 그리고, [ 키보드 입력 ] 액션을 추가하세요. 그전에 배열을 반복할 수 있는 [ Foreach 반복 ] 액션도 추가 해줍니다. 전체적인 모양은 아래 그림과 같습니다.
마우스 클릭은 메모장에 텍스트를 쓰기 위해 미리 클릭해두는 액션입니다. 그리고, Foreach 반복 액션은 배열을 인덱스 없이 무조건 순차적으로 하나씩 빼와서 변수에 넣어줍니다. [ For 반복 ]을 사용해도 되지만, For 반복을 쓰게되면 항목의 갯수를 미리 알아내야 하기 때문에 가변적인 길이인 경우 Foreach 반복을 사용하는게 더 효과적입니다. 마지막으로 메모장에 연관 검색어를 쓰고, 줄바꿈을 해주는 키보드 입력 액션이 추가 되었습니다. 스크립트를 실행하고 결과를 확인 해볼까요?
이번에는 검색어를 사용자로부터 입력 받은 후 네이버로부터 내용을 가져올 수 있도록 해보겠습니다. 사용자에게 검색어를 입력 받을 메세지 박스가 하나 필요합니다. 아래 그림과 같이 사용자로부터 입력 받은 검색어를 저장할 변수를 하나 추가하세요. 그리고, [ 입력 메세지 박스 ]의 결과 값을 변수에 저장 해줍니다.
검색어를 웹서비스 액션에 전달해야 합니다. 변수는 이미 처리했으므로, 아래와 같이 직접 변수 입력으로 검색어를 변수로부터 가져올 수 있게 합니다.
아래 동영상과 같이 매크로를 실행하고, 검색어에 리니지나 오딘 기타 연관 검색어를 가져올 키워드를 입력 해보세요.
네이버 연관 검색어를 잘 가져오고, 메모장에 입력도 잘 됩니다. 이렇게해서 간단하지만~ 네이버 연관 검색어 매크로를 만들어봤습니다. 너무 다양한 액션들을 사용해서 처음 엔지엠 매크로를 접하신 분들은 다소 어려움이 있을겁니다. 혹시라도 비슷한 문제를 해결하기 위해 매크로를 제작 중이시라면~ 언제든지 고객 서비스방에 문의 해주세요^^ 제작 방법에 대해서 알려들릴께요!
[ 각종 자동화 매크로 및 RPA 프로그램 제작 해드립니다. ]
[ 초보자도 쉽게 따라할 수 있는 기초 학습 강좌 보기 ]
원본 글 보기
http://ngmsoftware.com/bbs/board.php?bo_table=tip_and_tech
엔지엠소프트웨어
엔지엠 매크로는 복잡한 반복작업을 자동화할 수 있습니다. PC 게임, 모바일 게임을 최적으로 지원하며 모든 PC 프로그램 및 업무에 적용할 수 있습니다.
www.ngmsoftware.com
#비활성매크로 #g102매크로 #철권매크로 #레이저마우스매크로 #ghub매크로 #녹화매크로 #키보드반복매크로 #로지텍마우스광클매크로 #플라스크매크로 #윈도우매크로 #비활성g매크로 #오토매크로 #자동사냥 #주식매크로 #오토핫키키보드 #오토핫키마우스 #오토핫키이미지 #지존오토 #기계식매크로 #하드웨어매크로 #무한반복매크로 #대량이메일발송매크로 #엑셀VBA매크로 #주식모니터링매크로 #이미지맥스 #심플핫키 #오토클리커 #UiPath #Brity #스푸퍼 #DKOM #모바일게임매크로 #다클라매크로 #다계정매크로 #인스타그램매크로
댓글