파이썬 requests 모듈로 웹사이트에 요청을 보내는 방법에 대해 정리한 것에 이어서
웹사이트 내의 정보들을 수집하기 위해서 해당 사이트의 html을 다루는 툴로 BeautifulSoup 모듈을 소개한다.
https://ryuhyun.tistory.com/56
requests 모듈로 해당 사이트로부터 정보를 수집가능한 것을 확인하고,
사이트의 html을 본격적으로 수집한다.
질병관리청 보도자료 게시물의 정보를 수집하려고 한다.
크롬 브라우저에서 F12 키를 누르면 페이지 소스를 바로 확인할 수 있다.
또는 우측 상단의 점 세개(맞춤설정 및 제어) 아이콘을 누르고 '도구 더보기' - '개발자' 메뉴를 눌러도 된다.
이제 수집하고자 하는 정보가 포함된 태그를 찾아야 한다.
우측의 소스 창에서 태그를 하나씩 눌러 가며 링크 주소가 선택되는 태그를 찾는다.
이 페이지의 경우 <div class="tb_contents"> 태그 이하에 본문 내용이 삽입되어 있는 것을 확인했다.
본 페이지의 html 소스를 파이썬으로 가져와서 정보들을 텍스트로 추출해낼 것이다.
내용을 수집하기 위한 requests 모듈을 불러오고
html을 텍스트 형태로 가져오기 위해 BeautifulSoup라는 모듈을 사용한다.
html을 수프처럼 텍스트로 녹인다는 의미일까 ㅎㅎ
사이트 주소는 기니까 url 이라는 변수에다 별도로 저장해준다.
"" 따옴표 안에 텍스트 형태로 저장해야 한다.
url="https://www.kdca.go.kr/board/board.es?mid=a20501020000&bid=0015&list_no=719112&cg_code=C01&act=view&nPage=1"
requests 모듈을 불러오고, requests.get으로 url 응답 확인한다.
import requests
requests.get(url)
url 본문 내용을 확인해보는 방법은
불러온 url 을 변수에 저장하고, .text 를 통해 본문을 텍스트로 확인할 수 있다.
여기서는 req 이라는 변수에 저장하고, req.text로 확인해 보았다.
req=requests.get(url)
req.text
이제부터 BeautifulSoup로 불러온 본문 내용을 다루는 작업이다.
BeautifulSoup4가 설치되지 않았다면 설치 진행해주고 해당 모듈을 불러온다.
pip install BeautifulSoup4
from bs4 import BeautifulSoup
.content는 .text보다 더 raw 한 데이터로, 바이트 형태로 표현된다.
이해할 수 없는 형태이므로 굳이 확인 안해도 되고, 바로 html 파싱*을 진행한다.
*파싱parsing 이란, 마찬가지로 html을 수집 분석 가능한 형태로 텍스트화 하는 것을 의미한다.
여기서는 beautifulslup 의 html.parser를 활용한다.
BeautifulSoup(req.content, 'html.parser')
위와 같이 파이썬의 beautifulsoup 모듈을 통해
분석하고자 하는 페이지의 html이 텍스트 형태로 표현되는 것을 확인할 수 있다.
'도구들 > R,파이썬' 카테고리의 다른 글
[파이썬] 텍스트 파일(txt) 읽고 쓰기(readline) (0) | 2022.04.12 |
---|---|
[파이썬] 웹사이트 주소 수집하기(url 크롤링) 1. html에서 url 찾아서 파이썬으로 가져오기 (1) | 2022.03.26 |
[파이썬] 웹 크롤링 시작하기 1. requests 모듈로 요청 보내기 (0) | 2022.01.11 |
[python] 파이썬 주피터 노트북 시작해보기(ipynb 파일) (0) | 2021.12.01 |
파이썬(아나콘다) 다운로드, 설치시 PATH 지정 (0) | 2021.07.03 |