상세 컨텐츠

본문 제목

[파이썬 업무자동화] 일곱번째. 웹크롤링_기초 개념 및 코드방식

파이썬

by 무딩 2025. 6. 3. 13:13

본문

728x90
반응형
SMALL

인터넷 정보 수집화 작업
웹 크로링

웹 상의 정보들을 수집,저장 하는 작업으로 반복적인 자료 조사를 자동화 할 때 유용하다.


HTML(HyperText Markup Language)

웹 문서를 만들기 위해 사용하는 웹 언어의 한 종류로 웹 사이트 제작의 기본이다.

웹 콘텐츠 표현에 초점을 둠

  • HyperText : 웹 페이지에서 다른 문서 또는 리소스를 연결할 수 있는 텍스트
  • Markup Language : 태그를 사용한 텍스트의 역할을 구분하는 언어

HTML파일 생성 시 기억할 점
태그

태그를 사용해 문단의 시작점, 종료점을 구분한다.

  • < > : 시작태그
  • </ > : 종료태그
  • <p> : 문단을 구분하는 태그
  • 『<p> 파이썬 업무자동화 공부</p>』<- 명칭 : 요소(element)

 

HTML문서 구조

  • <!doctype html> : HTML 문서임을 선언한다.
  • <html> : HTML문서의 최상위 요소로 문서를 연다. 
  • <head> : 웹 페이지의 제목, 설정 정보를 담는 영역으로 디스플레이 되지 않는다.
  • <body> : 웹 페이지에서 디스플레이 되는 곳으로 모든 콘텐츠를 담는 본문

                자바스크립트를 이용해 콘텐츠를 동적 조작 할 수 있다.

  • <script> : 자바스크립트 코드를 포함하거나 연결하는 태그
  • </html> : 문서를 닫는다.

 

<body>의 태그

기본적으로 『<태그명 속성명 = "속성값">내용</태그명> 』형식이다.

속성은 요소의 특성,동작을 부여

태그명 설멍
div 나누어진 구역
a 웹페이지 링크(하이퍼링크)
p 문단
h1 최상위 제목
ul 순서 없는 목록
li 목록의 항목

 


XML(Extensible Markup Language)

데이터 저장 및 교환을 위한 마크업 언어

데이터 구조화 및 교환에 초점으로 대량의 데이터 처리에는 비효율적이다.

문단구분 : HTML과 동일하게 < > , </ > 사용 


requests 라이브러리

웹 페이지의 내용을 가져오거나 HTTP요청을 보내는 기능을 제공

사용전 설치

pip install requests
  • get() : 원하는 url페이지에 서버 응답 정보 요청을 보내고 응답 받아 반환한다.
  • text : 서버에서 받은 응답을 문자열로 반환한다. 일반적으로 HTML형식으로 반환.
import requests

url = "https://news.naver.com/breakingnews/section/101/261"
response = requests.get(url)

print(response.text)

출력 :


Beautiful Soup 라이브러리

HTML, XML문서를 사람이 이해하기 좋은 형태로 파싱(의미있는 정보 추출)하고 데이터 추출하는 기능을 제공

주로 requests라이브러리와 함께 사용한다.

사용 전 설치

pip install beautifulsoup4
  • BeautifulSoup 클래스
BeautifulSoup(markup, features)

HTML/XML 요소의 탐색,수정이 용이한 트리 구조의 객체

  • markup : 파싱 대상 마크업문자열, 유사파일객체를 전달 받음
  • features : 사용할 파서(parser)이름,유형을 전달 받음
  • content : HTML정보를 byte 형태로 불러온다.
  • parser : HTML문법 규칙을 바탕으로 웹페이지의 구조와 의미를 해석
from bs4 import BeautifulSoup as bs

soup = bs(response.content,"html.parser")

  • find()메서드
find(name, attrs)

태그명,속성이 일치하는 첫 번째 요소를 반환하는 메서드로 tag를 쉽게 검색,추출 할 수 있다.

  • attrs : 검색할 요소의 속성명, 속성값을 딕셔너리 형태로 전달 받는다.
  • find_all()메서드
find_all(name, attrs)

태그명,속성이 일치하는 모든 요소를 반환


 

해당 내용은 제가 공부하며 개념 정리 및 요약을 위해 작성한 글로

틀린점이 있을 수 있습니다.

728x90
반응형
LIST

관련글 더보기