반응형

사이트 정보를 가져오기 위해서는 다양한 기술을 사용할 수 있습니다. 파이썬(python)에서는 Requests를 사용해서 사이트 정보를 가져올 수 있습니다. 간단하게 설치 후 사용할 수 있어 매우 편리하게 WEB 정보를 확인할 수 있어 크롤링에 많이 사용됩니다.

먼저 requests를 설치해야 합니다. pip 명령어를 사용해서 requests를 install 해주세요.

처음 설치하면 정상적으로 설치됩니다. 전 이전에 설치되어 있어 오류 메시지가 출력되었습니다.

requests는 간단하게 get 메서드를 사용해서 사이트 정보를 확인할 수 있습니다. get 메서드에 사이트 정보를 입력합니다. status_code를 확인하면 정상적인 상태 사이트 확인이 가능합니다.

출력 결과 200 코드를 확인할 수 있습니다.

사이트 정보를 확인할 수 없는 내용을 사용할 경우 404 오류 코드를 리턴합니다.

출력 결과 404 에러를 확인할 수 있습니다. 처음 사이트 정상 유무를 먼저 확인하고 사이트 텍스트를 확인하는 게 가장 좋은 방법입니다.

text 속성을 사용하면 UTF-8로 인코딩된 사이트 텍스트 정보를 확인할 수 있습니다.

개발자 모드로 확인할 수 있는 사이트 HTML 정보를 한 번에 확인할 수 있습니다. 그런데 모든 코드가 포함되어 매우 복잡한 구조입니다.

content 속성을 사용하면를 바이너리 타입으로 변경되어 쉽게 사이트 텍스트 확인 가능합니다.

text 속성과 비교하면 매우 간결한 내용을 확인할 수 있습니다. 파이썬(python) requests 객체는 사이트 정보를 확인해서 다양한 정보를 빠르게 추출할 수 있어 매우 편리합니다. 간단한 속성으로 사용으로 빠르게 사이트 접근이 가능해서 WEB 자동화 프로그램을 개발할 때 꼭 필요한 객체입니다.

감사합니다.

반응형
반응형

크롤링 기술은 html 내용을 검색해서 다양한 정보를 빠르게 확인할 수 있는 기술입니다. 일반적으로 크롤링은 python에서 beautifulsoup를 사용해서 간단하게 html을 파싱 할 수 있어 많이 사용합니다. 오늘은 python 처럼 간편하게 HtmlAgility를 사용해서 C#에서 html 파싱 하는 방법을 알아보겠습니다.

메뉴에서 Nuget 패키지 관리자를 실행하고 "HtmlAgilityPack"를 검색해주세요. 프로젝트를 선택하고 설치 버튼을 클릭하면 프로젝트에 HtmlAgilityPack이 설치됩니다.

정상적으로 설치되면 출력 내용에서 설치 경로를 확인할 수 있습니다.

HtmlAgility를 사용하기 위해서는 기본적으로 xpath를 알아야 합니다. Chrome 브라우저에서 개발자 모드를 실행하고 크롤링하고 싶은 경로에 XPath를 저장합니다.

간단하게 naver.com 전체 내용을 확인하는 코드입니다.

string url = "https://www.naver.com";
HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load(url);
HtmlNode node = doc.DocumentNode.SelectSingleNode("/html/body");
Console.WriteLine(node.InnerText);

url 설정 후 HtmlWeb 객체를 사용해서 html 내용을 확인할 수 있습니다.

출력 결과 html에서 텍스트만을 확인할 수 있습니다. 간단하게 전체 내용을 확인할 수 있어 사용하기 매우 편리합니다.

이번에는 네이버 페이지에서 모든 이미지 주소를 확인하는 코드를 작성해보겠습니다.

중복되는 정보는 SelectNodes 메서드를 사용해서 접근이 가능합니다.

            HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//img");

            HtmlNode firstNode = nodes.First();

            for( int i = 0; i < nodes.Count; i++)
            {
                Console.WriteLine(nodes[i].Attributes["src"].Value);
            }

처음에 저장된 doc 객체에서 Selectnodes를 사용해서 하단에 있는 모든 img 태그를 확인합니다. 최대 nodes 개수를 확인하고 Attributes를 사용해서 "src" 내용을 모두 확인할 수 있습니다.

간단한 코드를 사용해서 html에 포함된 이미지 소스 정보를 한눈에 확인할 수 있습니다. 사용법은 매우 간단하지만, 기본적으로 html 기본 구조를 알고 있어야 크롤링 기술을 사용하기 편리합니다. C#을 사용해서 간단하게 크롤링 할 수 있어 다양한 정보를 수집하기 좋습니다. python보다 C#을 좋아한다면 지금 확인해보세요.

감사합니다.

반응형

+ Recent posts