728x90
반응형

컴퓨터/Python

총 43개의 포스트

컴퓨터/Python(43)

  1. Python - Selenium3 ( 입력 / 클릭)

    서론 지난 포스트를 읽었다면 아래의 과정을 사용할 수 있거나, 사용하는 방법을 익힐 수 있을 겁니다. Web드라이버의 구동 Get요청 작업이 완료될 때까지 적절하게 대기하기 원하는 요소의 정보를 추출하기 그렇다면, 원하는 정보를 추출한 이후에 다시 검색을 하거나, 다음 페이지로 넘어가거나 이런 다양한 제어의 동작을 해야 지만이 크롤러 BOT으로서 조금 더 적합한 녀석이 될 수 있습니다. 본문에서는 Selenium을 통해 이런 제어를 어떻게 하는지 알아보도록 하겠습니다. 클릭하기 -. click() 우선 조금 더 제어를 활용하기 쉽게 현 블로그를 예제로 해도 록 하겠습니다. browser = webdriver.Chrome() browser.get('https://blog-of-gon.tistory.com/..

    2022.05.09

    컴퓨터/Python

    Commnet

  2. Python - Selenium2 ( 대기 )

    서론 지난번에 Python Selenium을 이용해서 웹 브라우저를 구동시키고, 데이터를 추출하는 방법을 알아봤습니다. 사실 다양한 스크래핑, 크롤링을 하는 작업에서 Selenium을 이용하면 브라우저의 형태로 구동하여 데이터를 취득하기 편리한 장점이 있지만 비교적 느린 속도라는 문제 또한 존재합니다. 그리고 이 문제는 빠르게 동작하는 프로그램 환경에서 생각지 못하는 문제가 발생하기도 합니다. 따라서 Selenium을 사용하기 위해서 대기하는 과정을 이해하고 사용하는 방법을 알아보도록 하겠습니다. Python - Selenium (소스 및 요소 접근) 서론 지난 포스트에 이어서 selenium을 통해서 특정 웹페이지에 접근하고 필요한 HTML 소스 및 요소들을 접근하는 방법에 대해서 알아보도록 합시다. ..

    2022.05.09

    컴퓨터/Python

    Commnet

  3. Robots.txt ? (크롤링과 규약)

    서론 Python을 통해 Web에서 여러 데이터를 스크래핑하며 크롤링을 하기 위한 공부를 하던 과정 중 의문점이 하나 생겼다. 다양한 봇에 대한 이슈를 들어왔는데, 과연 프로그램을 이용한 무분별한 Web 데이터를 다루는 것은 문제가 되지 않는가? 이런 BOT들에 대한 문제는 윤리적, 도덕적 문제뿐 아니라, 서비스를 제공에 장애를 방생하는 요인이기도 합니다. 본문에서는 이 Web에서 데이터를 취득하는 프로그램들에 대한 규약을 알아보도록 하겠습니다. 한정적인 서비스 자원 Web은 인터넷을 통해 정보를 취득할 수 있는 오늘날 가장 대표적인 창구 중 하나입니다. 서비스를 제공하는 서버 측에서 다양한 클라이언트의 요청을 처리하는 방식으로 이루어져 있습니다. 손쉽게 정보를 찾고, 취득할 수 있게 되어있죠. 대부분의..

    2022.05.09

    컴퓨터/Python

    Commnet

  4. Python - Selenium (소스 및 요소 접근)

    서론 지난 포스트에 이어서 selenium을 통해서 특정 웹페이지에 접근하고 필요한 HTML 소스 및 요소들을 접근하는 방법에 대해서 알아보도록 합시다. 페이지 소스 보기 - page_source selenium을 통해서 get요청을 한 후 웹 브라우저 드라이버에서 생성된 소스 값을 얻어올 수 있습니다. browser = webdriver.Chrome() browser.get('https://www.tistory.com') print(browser.page_source) 사실, 이 방법만 알고 Beautifulsoup을 같이 사용한다면 요소에 쉽게 접근하는 것이 가능합니다. 하지만, selenium에서 자체적으로 소스의 요소에 접근할 수 있기 때문에 본문에서는 그 방법을 알아보도록 하겠습니다. 요소에 접..

    2022.05.06

    컴퓨터/Python

    Commnet

  5. Python - Selenium 맛보기 (동적 웹 페이지 크롤링)

    서론 Python에서 Web의 데이터를 다루는 과정에서 Requests 라이브러리를 사용하는 방법은 한정적입니다. 특정 url에서 요청하여 이미 만들어진 HTML 문서를 가지고 와서 다루는 작용을 하기 때문입니다. 만약 javascript 등 다양한 방식으로 동적인 웹페이지를 다루기 위해서는 상당히 많은 제약조건이 발생합니다. 그래서 많은 개발자들은 사람이 크롬, 에지 등 웹브라우저를 작동하는 것처럼 Python에서 웹 브라우저를 작동하는 프로그램을 만들게 되었습니다. 이게 바로 selenium입니다. 본 문에서는 이 selenium에 대해 간략하게 알아보도록 하겠습니다. 이후 구동하고 본격적인 내용은 다른 포스트에서 다루도록 하겠습니다. 준비 Selenium을 사용하기 위해서는 2가지가 필요합니다. S..

    2022.05.04

    컴퓨터/Python

    Commnet

  6. Python - Beautifulsoup 사용 법 및 예제

    서론 Python의 라이브러리 패키지인 BeautifulSoup은 Python에서 이용하여 HTML, XML 등의 문서를 손쉽게 활용할 수 있도록 도와줍니다. HTML, XML 등의 문서를 Python에서 탐색, 삽입, 수정, 추출 등을 할 수 있는 기능이 있습니다. 다양한 분야에서 활용할 수 있으며, requests, selenium를 이용하거나 직접 HTML을 가지고 와서 Python내에서 동작할 때 아주 효과적입니다. (물론 직접 구현아는 것이 구동 속도는 빠를 수 있습니다.) 본문에서는 BeautifulSoup에 대하여 전반적인 내용을 살펴보고 HTML을 다루는 방법에 대해서 알아보도록 하겠습니다. Web 크롤링을 위해서 사용하기 위한 태그들을 검색하고 추출하는 방법만을 다루도록 하겠습니다. 더 ..

    2022.05.03

    컴퓨터/Python

    Commnet

  7. Python - 크롤링 실패 사례 (Http 406 error) 유저 정보의 필요성

    서론 지난 포스트에서 간단하게 음악차트를 가지고 오는 크롤링 프로그램을 구현해 보았습니다. 정상적으로 작동하는 것을 확인할 수 있었지만, 다른 웹페이지를 크롤링하기 위해서 응용을 했을 때 원하는 결과를 못 얻는 경우가 생길 수 있습니다. 이유는 웹 서비스를 제공하는 서버 측에서 불순한 의도로 접근하는 방법을 차단하기 때문입니다. 디도스 공격등 다양한 문제점을 발생시킬 수 있기 때문이죠. 그렇기 때문에 http 요청을 할 때 어떠한 방법으로 접근을 하는지 포함하여 요청을 해야만 올바른 동작을 할 수 있습니다. User-Agent - 서버에서 나의 정보를 식별하기 위한 값 Http 요청을 하게 되면 Header 부분에서 User-Agent라는 값으로 어떠한 방법으로 요청을 하고 있는지 정확하게 식별해주는 방..

    2022.04.12

    컴퓨터/Python

    Commnet

  8. Python - Web 크롤링/스크래핑/파싱(Crawling / Scraping / Parsing)

    서론 앞으로 본격적으로 Python을 통해서 다양한 Web을 통해서 다양한 데이터를 크롤링, 스크래핑, 파싱을 할 것입니다. 결국은 Python을 통해 Web에서 정보를 취득하여 원하는 형태를 만들기 위한 과정입니다. 이를 다양한 언어로 표현하는데 차이와 특징에 대해서 알아보도록 합시다. 크롤링(Crawling) 수영 영법 등을 표현할 때 Crawl이라는 표현을 씁니다. 우리가 이야기하고자 하는 Webcrawling은 의역하자면, 정보의 바다인 웹을 가로지르는 영법이라는 의미를 가질 수 있습니다. 이 처럼 크롤링은 Web상에서 정보를 탐색하는 모든 행위를 의미합니다. 웹 크롤링을 한다 = 웹에서 정보를 탐색한다 추가로 웹 크롤러(crawler)라는 말은 이런 정보를 탐색하기 위한 다양한 프로그램을 의미합..

    2022.04.06

    컴퓨터/Python

    Commnet

  9. Python - Beautiful Soup ? (HTML / XML 데이터를 가공하기)

    서론 HTML이나 XML 등의 데이터 덩어리를 Python으로 가지고 온다면 이것을 어떻게 써야 할까요? 예를 들어 가지고 온 HTML 문서에서 태그만을 가지고 오고 싶다면 데이터 덩어리에서 추출하는 것은 상당히 손이 많이 가는 작업일 것입니다. Beauiful Soup 패키지는 이런 데이터 덩어리를 손쉽게 유용한 정보로 가공할 수 있게 해주는 유용한 라이브러리입니다. Beauiful Soup4 beauiful soup는 계속 새로운 버전이 릴리즈 되면서 현제 Beauiful Soup4를 이용하여 개발하고 있습니다. 따라서 최신 버전의 사용법을 숙지하는 것을 권장드립니다. 그럼 간단한 예제들을 통해 해당 라이브러리를 설치해보고 간단한 실습을 해보도록 하겠습니다. 패키지 설치하기 with pip 우선 pi..

    2022.04.02

    컴퓨터/Python

    Commnet

  10. Python - request 패키지의 한계(활용하기 위한 방법)

    서론 웹 브라우저를 통하지 않고 Python에서 request패키지를 통해 특정 서버에 http 프로토콜 요청이 가능합니다. 쉽게 말해 URL 요청을 통해 데이터를 취득할 수 있습니다. 아주아주 쉽게 말이죠. 이게 바로 Request 패키지의 목적이자, 한계입니다. 본문에서는 request패키지를 통해 python에서 응답받은 이 결과물을 어떻게 사용할지 생각해 보도록 합시다. request로부터 응답받은 객체 우선 request 메서드를 통해 응답받은 객체를 보면 다양한 속성 값들이 존재합니다. class Response(object): """The :class:`Response ` object, which contains a server's response to an HTTP request. """ ..

    2022.04.01

    컴퓨터/Python

    Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :

1 2 3 4 5
728x90
반응형