일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 돋보기
- Facebook developer
- 게임의 심리학
- HGC
- c#
- 메모장
- 리뷰
- ogn
- Chromium Embedded Framework
- 탐색기
- 압축프로그램
- 그림판
- 롤
- 음악플레이어
- winmm.dll
- 히어로즈오브더스톰
- OAuth 2.0
- 히오스
- lck
- lol
- 리그오브레전드
- Xamarin
- .NET
- NuGet
- Today
- Total
1인 콘텐츠 개발실
[c#] CEF를 이용한 페이스북 자동화 프로그램 (1) 본문
이 글은 .NET에서 Chromium Embedded Framework(CefSharp)와 Facebook SDK를 이용한 "페이스북 자동화 프로그램"의 개발 과정을 담은 기록 문서들 중 (1)에 해당하는 글입니다.
(1) - 프로그램 구상 및 개요
(2) - 페이스북 어플리케이션 등록 방법
(3) - Facebook SDK와 CefSharp 적용 방법
(4) - 프로그램의 구동 과정
(5) - 마무리 : 배운것과 보완할 점
프로그램 개발전 사전조사를 해보니 SNS 자동 관리 프로그램이 꽤 많았습니다.
vbs(VB Script)를 사용하여 웹브라우저 실행 후 자동 로그인하는 간단한 스크립트 부터, 프로그램 내부에서 자동으로 접속하여 글과 메시지를 여러 대상에게 뿌려주는 방식의 프로그램까지 그 종류가 다양했습니다.
저의 목표는 자동으로 접속, 글 업로드, 메시지 전달의 처리를 사람이 직접 웹페이지를 접속해서 작업하는 것처럼 직관적인 형태로 구현해보고자 함이었는데, 이게 생각보다는 쉽지 않았습니다. 물론 웹페이지를 처음 만져본 이유도 한몫 하지만, 시스템 자체에서 왠지 모를 큰 벽을 느꼈습니다.
지금부터 기존에 있던 프로그램들의 형태들을 언급하면서 그 이유에 대해 설명하도록 하겠습니다.
일단 간단하게 인터넷 브라우저를 실행하여 페이스북에 자동 로그인하는 프로그램들은 위의 그림처럼 마치 hotkey 매크로를 사용하듯이 순서대로 페이스북 로그인을 실행합니다. 아래는 메모장을 이용하여 만든 FacebookLogin.vbs 파일의 내용입니다.
(메모장으로 아래 내용을 작성한뒤 저장할 때 "텍스트 형식"에서 "모든 파일"로 변경하고, 확장자를 ".vbs"로 해주면 실행파일이 만들어집니다.)
set wshshell = WScript.CreateObject("WScript.Shell") wshshell.run "chrome.exe --incognito" wscript.sleep 1000 WshShell.AppActivate("Google Chrome") wshshell.SendKeys "{F6}" wscript.sleep 1000 wshshell.SendKeys "https://ko-kr.facebook.com/" wscript.sleep 1000 wshshell.SendKeys "{ENTER}" wscript.sleep 1000 wshshell.SendKeys "<페이스북 아이디>" wscript.sleep 1000 wshshell.SendKeys "{TAB}" wscript.sleep 1000 wshshell.SendKeys "<비밀번호>" wscript.sleep 1000 wshshell.SendKeys "{ENTER}"
윈도우에서 제공하는 명령어를 통해 크롬(--incognito : 시크릿모드로 실행)을 실행시키고, 크롬 브라우저를 통해 페이스북 홈페이지에 접속 한뒤 아이디와 비밀번호 순서대로 입력하고 엔터키를 누름으로써 자동으로 로그인할 수 있게됩니다. 간단하게 구현할 수 있는 장점이 있지만, 아무래도 매크로 형식이다 보니, 도중에 다른 키를 입력한다던가 다른 프로그램을 활성화하는 등의 상황에서 어긋나버리게 되는 단점이 있습니다. 또한 인터넷에 돌아다니는 이런 형태의 자동로그인 스크립트가 로그인에서 그친 이유는 로그인 이후 더 이상 키보드로 제어하기 힘듦과 동시에 아래의 설명하는 이유로 자동 글쓰기나 자동 댓글쓰기 기능은 없는 것으로 추측됩니다.
거의 대부분의 자동화 프로그램들이 위의 그림과 같은 형태입니다.
페이스북이 제공하는 API를 통해 필요한 정보를 전달받고, 이를 프로그램을 통해 원하는 형태로 가공하고 사용하여 다시 페이스북에 전달해서 저장하는 형태입니다. 페이스북 측에서는 자신들의 정보들을 외부로부터 안전하게 보호함과 동시에 개발자들의 개발을 위해 간단한 등록절차를 거치면 데이터 접근 허용과 더불어 필요한 기능들을 제공하고 있습니다.
따라서 개발자들은 이렇게 편안한 개발 환경을 거부할 이유가 없고, 직접 웹페이지를 거칠 필요 없이 응용프로그램 내부에서 충분히 결과물을 낼 수 있다는 매우 효율적인 측면 때문에 위 형태의 프로그램이 대부분인것으로 보여집니다.
'개발&제작 > 프로그램' 카테고리의 다른 글
[c#] 간단한 유틸을 만들어보자! - [DIY 메모장] 편 (0) | 2017.04.01 |
---|---|
[c#] CEF를 이용한 페이스북 자동화 프로그램 (5) (3) | 2017.03.02 |
[c#] CEF를 이용한 페이스북 자동화 프로그램 (4) (0) | 2017.02.27 |
[c#] CEF를 이용한 페이스북 자동화 프로그램 (3) (2) | 2017.02.23 |
[c#] CEF를 이용한 페이스북 자동화 프로그램 (2) (0) | 2017.02.23 |