파이썬의 기초는 대충 알았으니 웹 스크래핑을 배워보고 싶었다. 노마드 코더에서 웹 스크래핑 무료 강의가 있어서 한번 따라해 보았다.
먼저 웹 스크래핑을 하기 위한 모듈 2가지를 설치해야 하는데
이렇게 2가지다.
먼저 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)
도 있을까 싶어서 찾아봤더니 있었다! 두개의 차이는 여기에서 찾아볼 수 있다. 간단하게 정리하자면
자세한 내용은 https://hongsii.github.io/2017/08/02/what-is-the-difference-get-and-post/ 여기서 확인하면 된다.
요청에 대한 응답을 트리형태로 예쁘게 정리하는 모듈이다. 그래서 BeatifulSoup
이다. 참고로 soup
은 우리가 알고있는 그 수프가 맞는데 복잡하게 뒤섞여 있는 형태라는 뜻이라고 한다. Html코드를 보면 한 눈에 알아보기 힘들게 복잡한데 그걸 예쁘게 정리하는 모듈이 바로 BeatifulSoup
이다.
from bs4 import BeatifulSoup soup = BeatifulSoup(my_URL.text, "html.parser") #위에 requests설명했던 코드에서 저장한 my_URL변수를 text형태로 불러온다(HTML코드). 그 후에 html소스를 파싱한다(끌고 온다.)
나머지 메서드는 실제 웹 스크래핑할 때 더 설명하겠다.