본문 바로가기

Python/Crawling

(7)
[Python웹크롤링] Selenium과 Webdriver를 이용한 브라우저 자동 검색 예전에 한 아주 자그마한 토이 프로젝트 이지만 selenium과 웹드라이버를 이용해서 네이버 검색창에 자동으로 키워드를 입력하는 걸 다시 복습할 겸 진행해보았다... 사실 다른 웹크롤링 강의를 듣고 실습하려다가 에러나고 빡쳐서...복습겸 쉬운 프로젝트좀 하려고 다시 건너왔다 ㅜㅜ 그럼 이제 본격적으로 간단한 코드인지만 코드에 대해서 분석해보고 의미를 이해해 보자! 우선 가장 필요한 셀레니엄 모듈에서 웹드라이버를 임포트한다. 그리고 난 크롬브라우저를 이용했기 때문에 내 로컬에 크롬웹드라이버가 저장되어 있는 경로를 작성해주고 웹드라이버를 활성화 시켜준다. 다음에 한 두가지의 설정은 브라우저가 켜질때 내부적으로 대기하는 시간을 설정하는 것이다. 지난 글에도 한번 적었던 적이 있는 기억이 있다. 그리고 내 컴퓨..
[Python웹크롤링] Selenium을 이용해 사람인 채용정보 크롤링 웹크롤링 강의를 배우면서 가장 유용한 패키지 두개를 꼽으라고 하면 BeautifulSoup와 Selenium이라고 할 수 있겠다. 설연휴 전에 강의를 들어 배웠었지만 설연휴동안 일하면서 복습도...공부도... 쉬다보니 연휴가 끝나니 머리가 백지상태 처럼 되었었다.. 그래서 다시 토이프로젝트 처럼 복습차원 겸 다시 웹크롤링 예제를 만들어 보려고 한다. 요즘 노마드 코더 아카데미를 이용해서 웹크롤링에 대한 다른강의를 또 듣고 있는데 패스트 캠퍼스와는 다른 방법을 쓰는 거 같기도 해서 신기하기도 했지만 더 어지러워진 것 같다... 이번에 하기로 한 것은 '사람인' 이라는 채용정보 사이트에서 '데이터 엔지니어'를 검색하고 나오는 '채용정보' 와 '채용마감시간' 이렇게 2가지 정보를 각각 연속적으로 크롤링 해보았..
[Python웹크롤링] REST API에 대한 이해 웹크롤링을 하면서 웹사이트에 정보를 요청하고 받는 과정을 배우면서 REST API에 대해서 공부를 좀 하게 되었다. 그런데 사실 어려운 개념이기도 한 것 같고 여러 블로그의 글을 찾아보다가 너무 모르겠어서 유투브에 깊게는 아니지만 얕게라도 쉽게 설명해 놓은 영상을 찾았고 추가적으로 조대협님의 블로그의 글을 참고하며 얕게나마 개념을 설명하고 유투브 영상 링크를 걸어 놓기로 하겠다. REST의 유래 REST는 웹의 본래 우수성을 100% 활용하지못하고 판단하여 웹의 장점을 최대한 활용할 수 있는 네트워크 기반의 아키텍쳐 즉 개발자들끼리의 약속(?)같은 형식을 만들었는데 그것이 REST(Representational Safe Transfer) 이다. REST의 요소 REST = 리소스 + 메소드 + 메세지 이..
[Python웹크롤링] Session 활성화와 Cookie 전송 받기 이번엔 웹 브라우저에 요청하고 데이터를 가져올 때 Session을 활성화 하는 방법과 https://httipbin.org 불러오는 중입니다... 위 홈페이지를 통해서 Cookie 정보를 이용해 쿠키정보를 수신하는 방법에 대해서 공부해 보려 한다. 우선 requests를 import하고 s 라는 변수에 requests.Session() 으로 세션을 활성화 시켜준다. 그리고 r 이라는 변수에 get 방식을 이용해 특정 url 을 할당시켜준다. 그리고 .text 함수를 사용해 데이터를 확인해본다. 뿐만 아니라 수신 받을 때 정상적으로 잘 받았는지 '200' 이라는 코드를 확인하기 위해 .status_code 를 통해서 확인해 본다. 여기서 참고적으로 .ok 라는 함수를 이용해서도 수신 상태를 확인 해 볼 수..
[Python웹크롤링] 웹크롤링시 User-Agent의 사용 웹크롤링에 대해서 배우다 보면 우리 사람이 컴퓨터를 키고 웹브라우저에 접속하는 프로세스에 대해서 감을 익히게 된다. 개인적으로 이런 느낌을 받은 적은 바로 User-Agent 개념에 대해서 배우고 난 뒤인 것 같다. 물론 특정 웹마다 다르겠지만 어떤 웹브라우저는 get, post 방식을 날리는 상대방이 컴퓨터인걸 알면 해당 웹에 접속하는 것을 차단하는 경우가 있다. 우리는 이를 방지하기 위해서 " 나 컴퓨터아니고 사람이야 ! " 라고 사람인 ' 척 ' 하기 위해 User-Agent를 사용한다고 생각하면 되겠다. 본격적으로 내가 해당 개념을 배울 때 작성했던 코드를 살펴보자. User-Agent 클래스는 보통 fake_useragent라는 패키지에서 import를 시킨다.. 패키지 이름이 ' 가짜 유저 '..
[Python웹크롤링] requests 와 lxml 을 사용한 스크래핑 이번 복습 컨텐츠는 lxml 패키지를 이용해서 특정 데이터를 갖고오는 내용에 대해 다룰 것이다. 가장 우선적으로 url에 요청을 하기 위해서 requests 패키지를 import한다. 그리고 lxml.html 패키지 중 fromstring(문자열로 저장하는 class)와 tostring 클래스를 import 한다. 왜냐하면 html 구조를 갖고오는 데이터는 문자열로 저장되지 않기 때문이다. 우선 스크래핑을 실행하는 데 결정적 역할을 하는 main 함수에 대해 정의해 보았다. 가장 우선적으로 해주어야 하는 일은 세션을 활성화시키는 것이다. ( #세션이란? 해당 url에 계속 흐름이 끊기지 않고 접속해 있는 것을 말한다 ) 그리고 get 함수를 이용해 해당 URL을 요청한다 ( 여기서 get 방식을 이용했는..
[Python웹크롤링] urllib 모듈로 image, html 다운로드 12월 말 종강 후 부터 우리의 자랑스러운 DSC SCH Lead인 나단이가 패스트캠퍼스 강의를 빌려주어서 파이썬 문법과 웹 크롤링에 대한 강의를 들어왔다. 그 중에 데이터를 수집하기 위해서는 웹크롤링이 필수적이라고 교수님께서 말씀하셔서 웹 크롤링에 대한 강의를 듣고 이후 복습하고 머리에 저장시키기 위해 블로그에 쓰고자 한다. 우선 현재 웹크롤링 진도가 Selenium 모듈을 쓰는 단계까지 진행되었지만 다시 초심부터 돌아가자는 의미에서 처음부터 진도를 순차적으로 진행하면서 글을 작성하려 한다. 그럼 한 번 복습해보자! 우선 내가 갖고오고자 하는 URL에서 제공하는 이미지와 HTML을 갖고오기 위해선 해당 URL에다가 요청(request)을 해야 한다. (쉽게 일상적인 예시를 들어본다면, 대학교에서 수업을..