개발?인듯 개발아닌/Python

BeautifulSoup4와 requests를 사용한 웹 파싱

쿼딩~ 2024. 6. 23. 17:05

특정 url에서 우리가 원하는 정보파싱해주는 매크로를 만들어보자~!

 

 

Requests 와 BeautifulSoup 의 기능

  • Requests : http 요청을 보다 간단하고 인간 친화적으로 만들어줌
  • BeautifulSoup : html과 xml 문서를 파싱하기 위한 패키지. html에서 데이터를 추출하는데 유용한 구문 분석 트리를 생성해줌

예시 코드

예시 코드에서 사용하는 고정 url의 html

 

 

import requests
from bs4 import BeautifulSoup as bs 	# "as bs"를 뒤에 붙이면 BeautifulSoup를 bs로 줄여서 사용 가능

url = "접속 할 url"	# 사용할 고정 url 선언

page = requests.get("url")	# requests.get()함수를 사용하여 상태코드와 html내용을 응답 받음
soup = bs(page.text, "html.parser") 	# 응답 받은 html 내용을 bs4 클래스의 객체 형태로 반환
										# "이름.text"은 응답 받은 내용(html)을 유니코드 형태로 반환함
elements = soup.select('div.esg-entry-content a > span')	# bs4가 제공하는 기능 중 CSS 셀렉터를 이용해서 원하는 정보를 찾는 기능
															# "div.esg-entry-content a > span" 은 esg-entry-content 클래스로 설정된 div 태그들의 하위에 존재하는 a 태그, span 태그를 의미

for index, element in enmerate(elements, 1):
	print("{} 번째 게시글의 제목: {}".format(index, element.text))

 

실행결과

BeautifulSoup와 requests로 웹 파싱해보기 – 파이썬 실습 ❘ 가비아 라이브러리 (gabia.com)

 

이렇게 원하는 요소의 데이터를 파싱해서 원하는 형식으로 출력하는데 성공


새로운 예시

[Python 웹 크롤링] Requests 와 BeautifulSoup 의 조합 (tistory.com)

 

[Python 웹 크롤링] Requests 와 BeautifulSoup 의 조합

웹 크롤링에서 가장 많이 사용하는 라이브러리를 두 번의 포스팅에 걸쳐 설명하고자 합니다. 1탄은 Requests 와 BeautifulSoup 의 조합 (부제. 특정 사이트 url에서 html 정보 추출) 2탄은 Selenium 과 Beautiful

rubber-tree.tistory.com

위의 예시 코드를 바탕으로 여러 예시를 보여주는 좋은 글

 

여러 태그나 요소에 둘러쌓인 a 태그를 파싱해오는 방법 등 여러 응용 방법이 나옴

 


이거 봐도 모르겠다????

 

도와줘요 손진호 수병님 ~ !