빅데이터/데이터분석 with C#

HTML Parser 패키지 HtmlAgilityPack 설치 및 HTML BODY 내용 얻어오기

언제나휴일 2020. 5. 7. 22:05
반응형

 

네이버 뉴스를 크롤링 해 온 것은 Open API를 이용한 것이라 XML Document로 파싱할 수 있었습니다.
웹 페이지를 크롤링 해 오려면 HTML 파서를 요구합니다.
WebBrowser 컨트롤의 HtmlDocument를 사용할 수 있지만 웹 로봇에는 적합하지 않습니다.
Back Ground에서 동작하는 서비스에서 WebBrowser 컨트롤의 HtmlDocument는 동작하지 않습니다.
이러한 이유로 서비스에서 동작 가능한 HTML Parser인 HtmlAgilityPack을 설치할 것입니다.
그리고 이를 이용하여 HTML Body 내용을 얻어오는 실습을 진행합니다.

 

/*                                                                                            http://ehpub.co.kr
 *                                                                                           데이터분석 with C#
 *                                                                             웹 사이트 body 내용 얻어오기
 *                                                            개발 전 해야 할 일: HtmlAgilityPack 설치
 *                                                                            HtmlAgilityPack - HTML 파서
 */
using HtmlAgilityPack;
using System;
using System.Net;
using System.Text;

namespace 웹_크롤링_테스트
{
    class Program
    {
        static void Main(string[] args)
        {
            WebClient wc = new WebClient();
            wc.Encoding = Encoding.UTF8;
            string html = wc.DownloadString("http://ehpub.co.kr");
            HtmlDocument doc = new HtmlDocument();
            doc.LoadHtml(html);
            HtmlNode hn = doc.DocumentNode.SelectSingleNode("//body");
            string bodytxt = hn.InnerText;
            Console.WriteLine(bodytxt);
        }
    }
}
반응형