본문 바로가기

Python으로 웹 스크래퍼 만들기

Python으로 웹 스크래퍼 만들기 복습 4일차[웹스크래퍼] (Feat. 노마드코더)

본 포스팅은 노마드코더님의 온라인 강의에 대한 복습을 기록하기 위한 포스팅입니다.

※ 본 포스팅의 내용은 강의를 들은 후 필자의 개인적인 의견을 기재한 것이니, 정답이 아닐 수 있음을 참고하십시오.

강의 소개 : 파이썬으로 웹 스크래퍼 만들기 (2주 완성반)
  -. 내용 : 파이썬 기초 (타입, 변수, 함수, 클래스 등 및 웹 스크래퍼 코드 작성법)
  -. 비용 : 100% 무료 강의
  -. 비고 : 한글 자막 제공 / 강의 100% 완료 시 10% 할인 쿠폰 제공
온라인 강의 : https://nomadcoders.co/
    /    풀스택 개발자 로드맵 : https://nomadcoders.co/roadmap
유튜브 채널 : https://www.youtube.com/channel/UCUpJs89fSBXNolQGOYKn0YQ
 

노마드 코더 Nomad Coders

한국인 린과 콜롬비아인 니꼴라스의 프로젝트 "노마드 코더" 입니다. 2015년 떠나, 현재까지 원하는 곳에서 일하며, 살고 있습니다. + + Nomad Academy: https://nomadcoders.co

www.youtube.com


 

#1.12 Modules

  1) Module은 무엇인가?

    -. Module은 다양한 기능을 편하게 사용할 수 있도록 미리 만들어둔 것을 말하는데요.

    -. 파이썬에서 기본으로 제공해주는 Module(바로 사용)과 사용자가 직접 개발한 Module(설치 필요)이 존재합니다.

    -. 파이썬은 엄청난 수의 Module을 사용할 수 있는데, 이 것이 파이썬을 사용하는 가장 큰 이유 중에 하나입니다.

 

  2) Module의 사용 방법

# datetime을 datetime이라는 이름으로 가져온다.
import datetime

# datetime 모듈 내부의 timedelta를 사용한다.
d = datetime.timedelta(microseconds=-1)
print(d.days, d.seconds, d.microseconds)

### 출력 값 ###
(-1, 86399, 999999)

    -. 일반적으로 Module을 사용할 때는 "import module_name"으로 Module을 해당 .py 파일에 불러와야 합니다.

    -. 해당 Module에 있는 모든 Class와 Function을 불러와 프로젝트의 성능에 미세하게 영향이 미칠 수 있습니다.

    -. "import_name.function_name"으로 기능을 사용함

 

# datetime 모듈 내부의 timedelta를 timedelta라는 이름으로 가져온다.
# 이경우 코드는 datetime이라는 이름을 모르므로 datetime.timedelta는 사용 할 수 없다.
from datetime import timedelta

d = timedelta(microseconds=-1)
print(d.days, d.seconds, d.microseconds)


### 출력 값 ###
(-1, 86399, 999999)

    -. Module 전체는 필요 없고 특정 Class나 Function만 필요한 경우 위와 같이 작성하시면 됩니다.

    -. datetime 모듈 내부의 timedelta를 timedelta라는 이름으로 가져온다.

    -. "from module_name import fuction_name1, fuction_name2~~~" 로 사용 가능합니다.

    -. 이 경우 메모리는 적게 사용하지만, 해당 Class나 Function 외의 다른 기능은 사용하지 못합니다.

    -. 해당 기능을 사용하기 위해서는 "import_name"으로 사용 가능합니다.

 

Python으로 웹 스크래퍼 만들기 복습 4일차 1

    -. Module을 불러올 때 module_name이 마음에 들지 않는다면 치환하여 사용할 수 있습니다.

    -. "import math as x"로 사용 가능합니다.

    -. 이 경우 기존의 "math"라는 이름은 더 이상 사용할 수 없고 "x"로 사용이 가능합니다.

 

 

#2.0 What is Web Scrapping & #2.1 What are We Building

  1) Web Scrapping는 무엇인가?

Python으로 웹 스크래퍼 만들기 복습 4일차 2

    -. Web Scrapping웹 상의 데이터를 추출하는 것을 뜻합니다.

    -. 예를 들자면 naver 뉴스의 기사 제목들을 모두 가져올수도 있고, 메인 사진도 가지고 올 수가 있습니다.

    -. 추가적으로 11번가, 쿠팡, 티몬 등에서 "엄청난물건1"의 검색 결과를 매일 10초 단위로 가지고와서,

    -. 각 사이트별 가격의 차이, 변동 값, 할인율 등을 만들 수 있습니다.

    -. 대표적인 예로 구글에서 배우 이름을 검색하면, 배우의 신상정보, 위키피디아, 출연 작품 등을 보여주는데요

    -. 이 것은 구글이 각 웹사이트에서 Scrapping을 통해 데이터를 가지고 와서 검색 결과 화면에 보여주는 것입니다.

 

#2.2 Navigating with Python

  1) Packages 설치

Python으로 웹 스크래퍼 만들기 복습 4일차 3

    -. 좌측 메뉴에서 Packages 선택 -> "requests" 검색 -> requests 선택 -> + 버튼 클릭 -> "import requests" 확인

    -. 저는 이미 설치가 되어 있어서 - 버튼이 활성화되어있습니다.

 

  2) 코드 작성 (이후부터는 코드와 코드 리뷰를 중심으로 포스팅 예정입니다.)

"""
requirements.txt 파일 참조
  requests == 2.24.0
"""

import requests

# 스크래핑 하려는 url 저장
url = "https://www.indeed.com/jobs?q=python&limit=50"

# url에 저장된 웹사이트를 requestsdml get Function을 사용하여 가져오기
indeed_result = requests.get(url)

# html을 text로 가져오기
print(indeed_result.text)

    -. 해당 코드를 실행하기 전에 requests 패키지가 설치되어 있어야 합니다.

    -. repl.it 에서는 위에서 설명드린 방법으로 설치하시고, Linux, 윈도, Mac에서는 각 방법을 구글에서 검색하시면

    -. 많이 나오니 참조하시기 바랍니다.

    -. 소스 코드 보기 : https://github.com/ilionash/Web-Scrapping

 

 

※ 본 포스팅의 내용은 강의를 들은 후 필자의 개인적인 의견을 기재한 것으로,

   정답이 아닐 수 있음을 참고하십시오.

 


이상으로 Python으로 웹 스크래퍼 만들기 복습 4일 차를 마치겠습니다.

 

Python으로 웹 스크래퍼 만들기 복습 4일차 4