이 영역을 누르면 첫 페이지로 이동
#include < ResetDy.com > 블로그의 첫 페이지로 이동

#include < ResetDy.com >

페이지 맨 위로 올라가기

#include < ResetDy.com >

[Python] 간단한 웹페이지 읽어오기

  • 2018.03.22 00:32
  • Programming/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

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [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
다른 글 더 둘러보기

정보

#include < ResetDy.com > 블로그의 첫 페이지로 이동

#include < ResetDy.com >

  • #include < ResetDy.com >의 첫 페이지로 이동

검색

메뉴

  • Home
  • Tag
  • Guest Book
  • Write
  • Admin

카테고리

  • 분류 전체보기 (129)
    • VR (3)
    • 내 이야기 (37)
    • Trade (13)
      • 주린이 HTS (0)
      • 주린이 일기 (2)
      • 주린이 공부 (0)
      • 주린이 매매일지 (11)
    • Hardware (2)
      • Tip (1)
      • Schematic (1)
    • Programming (24)
      • C++ (1)
      • C# (5)
      • Python (9)
      • Android (9)
    • MicroProcessor (17)
      • AVR (8)
      • STM32 (6)
      • RaspberryPi (1)
      • Smart Car (2)
    • Computer (23)
      • Tip (6)
      • Linux (5)
      • MacOS (11)
    • Car D.I.Y (10)
      • XMAX300 (1)
      • All New Carnival (5)
      • SM3 (4)

공지사항

블로그 구독하기

  • 구독하기
  • RSS 피드

정보

ResetDy의 #include < ResetDy.com >

#include < ResetDy.com >

ResetDy

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © ResetDy. Designed by Fraccino.

티스토리툴바