본문 바로가기

Python

(45)
[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('구분기준') 으로 나눔 만약 '구분기준'..