본문 바로가기

Python

(47)
[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] 패키지, 라이브러리, 모듈... 넌 진짜 알아? 최근에 이쪽 분야를 공부하면서 가장 힘들고 고난스러운 점은 용어 자체가 이해하기 어렵다는 것이다. 용어가 외래어 처럼 되있을 뿐만 아니라 사전적 의미에 대한 명확한 정의도 없고 한 특정 키워드에 대한 개념설명을 읽다가도 용어에 대해 인지를 못해서 c로 시작하는 욕을 한적이 한 두번이 아닌 거 같다...그러는 차원에서 작은 컨텐츠로 혼동할 수 있는 용어에 대해서 간단하게 정의해 보려고 한다. 먼저 수식으로 개념에 대한 종속 관계부터 알아보자. 패키지 = 라이브러리 = 모듈의 합 = 클래스의 합 = 객체(함수들)의 합 예시를 통해서 이해하는게 가장 빠를 것이다. 우선 주석처리를 한 것을 읽고 이해하면 된다. 그리고 난 이번기회를 통해서 새롭게 알게 된 사실이였는데 from ~ import 구문을 쓸 때 . ..
[Python] Class와 Object 개념과 이해 파이썬을 처음 접할 때는 그렇게 어렵다고 느껴지지 않았지만 클래스와 객체 단계만 다가오면 머리가 하얘지고 무슨 말인지 도통 몰랐다.. 심지어 패스트캠퍼스의 강의를 들었음에도 불구하고.... 그런데 코딩 유투버를 보다가 '워니' 라는 사람의 영상을 접하게 되었고 설명하는 방식이 이해하기 쉬운 것 같아 인상깊었던 와중에 1시간 분량의 파이썬 정복기라는 엑기스 영상을 올린걸 보게 되었다. 그리고 시청 후 소감은 정말 설명을 잘해주셨고 드디어 클래스와 객체에 대해서 이해가 많이 된 느낌을 받았다. 하지만 이 느낌도 곧 까먹게 될 것 같다... 사라지기 전에 빨리 이제 복습해보자! 우선 클래스 속에 객체가 있다고 볼 수 있겠다. class를 정의해주고 그 안에 임의의 함수를 만들어 준다. 그리고 __init__의..
[Python웹크롤링] urllib 모듈로 image, html 다운로드 12월 말 종강 후 부터 우리의 자랑스러운 DSC SCH Lead인 나단이가 패스트캠퍼스 강의를 빌려주어서 파이썬 문법과 웹 크롤링에 대한 강의를 들어왔다. 그 중에 데이터를 수집하기 위해서는 웹크롤링이 필수적이라고 교수님께서 말씀하셔서 웹 크롤링에 대한 강의를 듣고 이후 복습하고 머리에 저장시키기 위해 블로그에 쓰고자 한다. 우선 현재 웹크롤링 진도가 Selenium 모듈을 쓰는 단계까지 진행되었지만 다시 초심부터 돌아가자는 의미에서 처음부터 진도를 순차적으로 진행하면서 글을 작성하려 한다. 그럼 한 번 복습해보자! 우선 내가 갖고오고자 하는 URL에서 제공하는 이미지와 HTML을 갖고오기 위해선 해당 URL에다가 요청(request)을 해야 한다. (쉽게 일상적인 예시를 들어본다면, 대학교에서 수업을..
[Python공부] 12.19 - 1일차_몰랐던 기본문법 1. + 를 이용해서 문자열을 결합 가능 2. * 를 이용해 문자열 복제가능 ex) 'a man ' *3 하면 a man a man a man 출력 3. 문자열은 불변하기 때문에 해당 인덱스 번호에 새로운 문자를 할당할 수 없음! -> 대신 replace함수사용 4. 슬라이스 ㄱ. [ : ] 처음부터 끝까지 시퀀스 출력 ㄴ. [start : ] start부터 끝까지 시퀀스 출력 ㄷ. [ : end ] 처음부터 end-1 까지 시퀀스 출력 ㄹ. [start : end ] start부터 end-1 까지 시퀀스 출력 ㅁ. [start : end : step ] start부터 end-1까지 step만큼 문자를 건너뛰면서 출력 5. split 함수 -> 변수명.split('구분기준') 으로 나눔 만약 '구분기준'..