반응형

오늘은 파이썬(python)에서 requests 객체를 사용해서 GET, POST 메시지를 보내는 방법을 알아보겠습니다. requests 객체는 WEB 데이터 정보를 확인할 수 있는 객체로 크롤링에 많이 사용됩니다.

먼저 GET, POST 메시지 처리가 가능한 html를 작성했습니다. RGB 색상을 입력받아 텍스트로 확인할 수 있는 WEB 페이지입니다.

입력된 RGB 정보를 텍스트로 출력합니다. 메시지 정보는 color1, color2, color3로 설정했습니다.

get 메시지는 requests get 메서드를 사용해서 전송합니다. 기본 get parameter 정보를 텍스트 배열 형태로 저장하고, requests.get 메서드에 URL, params 정보를 입력합니다.

출력 결과 form-action.php 파일을 호출하면서 GET에 입력된 정보가 HTML BODY 부분에 출력되는 것을 확인할 수 있습니다.

post 메시지는 request post 메서드를 사용해서 전송합니다. parameter 정보는 data로 입력이 가능합니다. get 정보와 동일하게 배열을 생성 후 requests.post 메서드에 data 정보를 입력해서 URL을 호출합니다.

출력 결과 POST 정보를 확인 후 body에 color1 ~ color3 정보가 출력되는 것을 확인할 수 있습니다. requests는 WEB 크롤링부터 GET, POST 메시지를 전송할 수 있어 다양하게 많은 정보 접근이 가능한 매우 편리한 객체입니다. WEB 정보 확인이 필요하다면 파이썬(python)을 사용해서 한번 확인해보세요.

감사합니다.

반응형
반응형

사이트 정보를 가져오기 위해서는 다양한 기술을 사용할 수 있습니다. 파이썬(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