TIL | WEB Scraping - 2

송치헌·2021년 7월 7일
0
post-thumbnail

Start Web Scraping

파이썬의 기초는 대충 알았으니 웹 스크래핑을 배워보고 싶었다. 노마드 코더에서 웹 스크래핑 무료 강의가 있어서 한번 따라해 보았다.

먼저 웹 스크래핑을 하기 위한 모듈 2가지를 설치해야 하는데

  • requests
  • beautifulsoup

이렇게 2가지다.

requests

먼저 requests부터 살펴보자. 참고로 필자는 repl.it 이라는 온라인 IDE를 사용하여 코딩하였기 때문에 command창에서 따로 명령어 사용없이 패키지를 설치하였다👍

import requests #package이름을 import해준다.

URL = "https://velog.io" #scraping할 주소를 저장
my_URL = requests.get(URL) #해당 URL을 요청하여 저장
print(my_URL.status_code) #요청 상태를 출력
#200이 출력된다면 연결 성공이다.
#https://en.wikipedia.org/wiki/List_of_HTTP_status_codes <- 여기서 상태 코드 확인 가능
print(my_URL.text)#해당 페이지의 HMTL문서를 text형태로 출력한다.

상태 코드 참고

예전에 정보 보안 공부를 할 때 HTTP Requests에 대해 배웠는데 요청 방식에 get방식과 post방식이 있다는 것을 봤다. 그래서 혹시
requests.get(URL)말고도 requests.post(URL)도 있을까 싶어서 찾아봤더니 있었다! 두개의 차이는 여기에서 찾아볼 수 있다. 간단하게 정리하자면

  • Get방식은 서버에게 동일한 요청을 여러번 전송해도 같은 결과가 나와야 한다.
  • Post방식은 서버에게 동일한 요청을 하더라도 다른 결과가 나올 수 있다.

자세한 내용은 https://hongsii.github.io/2017/08/02/what-is-the-difference-get-and-post/ 여기서 확인하면 된다.

BeatifulSoup

요청에 대한 응답을 트리형태로 예쁘게 정리하는 모듈이다. 그래서 BeatifulSoup이다. 참고로 soup은 우리가 알고있는 그 수프가 맞는데 복잡하게 뒤섞여 있는 형태라는 뜻이라고 한다. Html코드를 보면 한 눈에 알아보기 힘들게 복잡한데 그걸 예쁘게 정리하는 모듈이 바로 BeatifulSoup이다.

from bs4 import BeatifulSoup

soup = BeatifulSoup(my_URL.text, "html.parser")
#위에 requests설명했던 코드에서 저장한 my_URL변수를 text형태로 불러온다(HTML코드). 그 후에 html소스를 파싱한다(끌고 온다.)

나머지 메서드는 실제 웹 스크래핑할 때 더 설명하겠다.

profile
https://oraange.tistory.com/ 여기에도 많이 놀러와 주세요

0개의 댓글

관련 채용 정보