[Python] 간단한 웹페이지 읽어오기
간단한 웹페이지를 읽어오는 기본 기능 입니다~
urllib 패키지에 포함되어 있는 urlopen 기능을 사용하면 웹페이지의 소스를 간단하게 읽어 올 수 있습니다.
from urllib.request import urlopen
result = urlopen("http://naver.com")
print(result.read())
위에 처럼 읽어오는데 성공은 했습니다!!
그러나.. 보기가 참 어렵네요.. 심지어 결과물이 b' 로 시작하는 걸 보니 바이트로 저장이 되어있는 것 같습니다.
이걸 다 사용자가 정리를 해줘야 할까요?? 파이썬에서??ㅎㅎ
파이썬은 참 사용자들이 편하도록 만들어진 언어 같습니다. (반대로 나태해지게 만드는 언어이기도 하죠..ㅎㅎ)
가장 범용적인 라이브러리를 소개 해드리겠습니다~
BeautifulSoup 입니다! (아름다운 스프라니!!)
공식문서 : https://www.crummy.com/software/BeautifulSoup/bs4/doc/#
해당 라이브러리를 사용하면 잘못된 HTML을 수정하여 쉽게 탐색할 수 있는 XML 형식의
파이썬 객체로 변환하여 사용자에게 돌려줍니다!
파이썬 설치 시 기본으로 설치되는 라이브러리가 아니여서 설치를 진행해야 합니다.
전 언제 설치를 했었나.. 이미 포함이 되어 있네요. (아나콘다3를 설치해서 사용하는데 제가 따로 설치를 했는지는 알 길이....후후후 =_=)
어찌껀.. 기존 소스를 수정 해봅니다!
from urllib.request import urlopen
from bs4 import BeautifulSoup
result = urlopen("http://naver.com")
bs = BeautifulSoup(result.read(), "html.parser")
print(bs)
일단 결과물을 보면.. 시중에서(?) 많이 접하던 html 문서 형식으로 잘 보이죠!
이게 바로 BeautifulSoup 의 기능입니다~!
소스를 살펴보면 2줄 더 추가가 되었습니다!
from bs4 import BeautifulSoup
BeautifulSoup 매쏘드를 import 시켜줬습니다.
그리고 기존에 urlopen 매쏘드를 통해 반환된 데이터를
BeautifulSoup 매쏘드를 사용하여 한번 더 변환을 수행합니다.
bs = BeautifulSoup(result.read(), "html.parser")
BeautifulSoup 에는 여러 기능들이 많이 포함이 되어 있습니다. (잠깐 확인해본 tag 기능 이라던지..)
이렇게 만들어진 bs 객체를 가지고 원하는 데이터를 추출 할 수도 있습니다.
이렇게 웹에 있는 데이터(?)를 가져오는 첫경험을 하게 되었네요..^^
앞으로도 지속적으로 올려 보겠습니다~!
'Programming > Python' 카테고리의 다른 글
[Python] Qt designer으로 만들어진 ui 파일 파이썬에서 로드시키기 (0) | 2018.03.30 |
---|---|
[Python] 키움증권 OpenAPI 종목 기본정보 요청하기 (0) | 2018.03.30 |
[Python] 키움증권 OpenAPI 로그인 이벤트 연결 및 적용 (0) | 2018.03.29 |
[Python] 키움증권 OpenAPI 모듈 사용 시 동작이 안할때! (0) | 2018.03.29 |
[Python] 데이터 시각화 중 신기했던 로또번호 (0) | 2018.03.26 |
[Python] 파일 오픈시 Encoding 오류 (미결) (0) | 2018.03.21 |
[Python] List 자료형 (0) | 2018.03.20 |
[Python] Thread 테스트 (2) | 2018.03.20 |
댓글
이 글 공유하기
다른 글
-
[Python] 키움증권 OpenAPI 모듈 사용 시 동작이 안할때!
[Python] 키움증권 OpenAPI 모듈 사용 시 동작이 안할때!
2018.03.29 -
[Python] 데이터 시각화 중 신기했던 로또번호
[Python] 데이터 시각화 중 신기했던 로또번호
2018.03.26 -
[Python] 파일 오픈시 Encoding 오류 (미결)
[Python] 파일 오픈시 Encoding 오류 (미결)
2018.03.21 -
[Python] List 자료형
[Python] List 자료형
2018.03.20