이전 강의에서 HtmlAgilityPack을 설치했었죠.
그리고 웹 크롤링해 온 문자열에서 HTML의 BODY 내용을 얻어오는 실습을 했어요.
이번에는 웹 로봇을 서비스 형태로 가동하기 위해 필요한 선행학습을 해 볼 거예요.
예광탄으로 보셔도 되구요.
제일 먼저 윈도우 서비스를 만들어서 시스템에 설치하고 제거하는 실습을 해 볼 거예요.
이번 실습에서는 웹 크롤링한 후 HTML BODY 내용을 파일에 기록하는 서비스를 만들거예요.
그리고 installutil 명령어를 이용하여 서비스를 설치하고 구동한 후에 제거까지 하는 실습입니다.
동영상 강의를 참고하세요.
00:14 인사 및 실습 소개
00:31 서비스 프로젝트 추가
설치 관리자 추가
서비스 속성 설정
서비스 계정 설정
02:25 OnStart 메서드에 소스 코드 작성
05:20 서비스를 시스템에 설치
installutil -i 서비스파일명
서비스 가동
정상 동작하였는지 확인
서비스를 시스템에서 제거
insallutil -u 서비스파일명
다음은 실습에 사용한 소스 코드입니다.
using HtmlAgilityPack; using System.IO; using System.Net; using System.ServiceProcess; using System.Text; namespace DemoSVC { public partial class Service1 : ServiceBase { public Service1() { InitializeComponent(); } protected override void OnStart(string[] args) { WebClient wc = new WebClient(); wc.Encoding = Encoding.UTF8; string html = wc.DownloadString("https://ehpub.co.kr"); HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(html); HtmlNode hn = doc.DocumentNode.SelectSingleNode("//body"); string bodytxt = hn.InnerText; FileStream fs = new FileStream(@"D:\\svc\data.txt", FileMode.Create); byte[] buffer = Encoding.UTF8.GetBytes(bodytxt); fs.Write(buffer, 0, buffer.Length); fs.Close(); } protected override void OnStop() { } } }