개발?인듯 개발아닌/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))
실행결과
이렇게 원하는 요소의 데이터를 파싱해서 원하는 형식으로 출력하는데 성공
새로운 예시
[Python 웹 크롤링] Requests 와 BeautifulSoup 의 조합 (tistory.com)
[Python 웹 크롤링] Requests 와 BeautifulSoup 의 조합
웹 크롤링에서 가장 많이 사용하는 라이브러리를 두 번의 포스팅에 걸쳐 설명하고자 합니다. 1탄은 Requests 와 BeautifulSoup 의 조합 (부제. 특정 사이트 url에서 html 정보 추출) 2탄은 Selenium 과 Beautiful
rubber-tree.tistory.com
위의 예시 코드를 바탕으로 여러 예시를 보여주는 좋은 글
여러 태그나 요소에 둘러쌓인 a 태그를 파싱해오는 방법 등 여러 응용 방법이 나옴
이거 봐도 모르겠다????
도와줘요 손진호 수병님 ~ !