반응형
네이버 뉴스를 크롤링 해 온 것은 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);
}
}
}
반응형
'빅데이터 > 데이터분석 with C#' 카테고리의 다른 글
시멘틱 웹 검색 서비스 프로젝트 5. 윈도우 서비스 설치 및 제거 – 웹 크롤링 한 후 HTML BODY 내용 파일에 기록하기[데이터분석 with C#] (0) | 2020.05.08 |
---|---|
뉴스 크롤링을 넘어 형태소 분석 구현 (0) | 2020.05.04 |
뉴스 크롤링 라이브러리 만들기3 (0) | 2020.05.04 |
뉴스 크롤링 라이브러리 만들기2 (0) | 2020.05.04 |
뉴스 크롤링 라이브러리 만들기1 (0) | 2020.05.04 |