Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- GPT-4's answer
- 자바네트워크
- 리눅스
- Spring boot
- Database
- 고전역학
- 시스템
- kotlin
- flet
- 뉴턴역학
- write by chatGPT
- 소프트웨어공학
- JVM
- 자바암호
- 웹 크롤링
- Java
- 파이썬
- 자바
- 유닉스
- NIO
- 인프라
- python
- 역학
- 코틀린
- oracle
- android
- lombok
- write by GPT-4
- GIT
- chatGPT's answer
Archives
- Today
- Total
Akashic Records
자주 사용하는 BeautifulSoup 코드 스니펫 본문
728x90
BeautifulSoup
은 웹 크롤링 및 스크레이핑에서 매우 자주 사용되는 라이브러리로, HTML과 XML 문서에서 데이터를 추출하는 데 유용합니다. 여기 몇 가지 자주 사용하는 BeautifulSoup
코드 스니펫을 소개하고, 각각의 사용 방법을 설명하겠습니다.
1. 기본 설정 및 HTML 페이지 가져오기
웹 페이지에서 HTML을 가져오기 위해 requests
라이브러리와 BeautifulSoup
을 사용합니다. 이는 크롤링 작업의 첫 단계입니다.
import requests
from bs4 import BeautifulSoup
url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
requests.get(url)
: 웹 페이지의 HTML을 가져옵니다.BeautifulSoup(response.text, 'html.parser')
: 가져온 HTML 텍스트를 파싱하여BeautifulSoup
객체를 생성합니다.
2. 특정 태그 찾기
웹 페이지에서 <title>
태그를 찾아 페이지 제목을 출력하는 코드입니다.
title = soup.find('title')
print(title.text)
find('title')
: HTML에서<title>
태그를 찾습니다.title.text
:<title>
태그의 텍스트 콘텐츠를 가져옵니다.
3. 클래스로 요소 찾기
특정 클래스를 가진 모든 <div>
태그를 찾아 그 내용을 출력합니다.
divs = soup.find_all('div', class_='example-class')
for div in divs:
print(div.text)
find_all('div', class_='example-class')
: 클래스가example-class
인 모든<div>
태그를 찾습니다.
4. ID로 요소 찾기
ID가 특정 값인 요소를 찾아 그 내용을 출력합니다.
element = soup.find(id='unique-id')
print(element.text)
find(id='unique-id')
: ID가unique-id
인 요소를 찾습니다.
5. CSS 선택자 사용
CSS 선택자를 사용하여 요소를 찾고 그 내용을 출력합니다. 이는 클래스, ID, 속성 등 다양한 조건을 조합할 수 있습니다.
items = soup.select('div.container > ul.list > li.item')
for item in items:
print(item.text)
select('div.container > ul.list > li.item')
: CSS 선택자를 사용하여 특정 경로에 위치한 모든<li>
요소를 찾습니다.
6. 링크의 URL과 텍스트 추출
모든 <a>
태그를 찾아 링크의 HREF 속성과 텍스트를 출력합니다.
links = soup.find_all('a')
for link in links:
print(f"Text: {link.text}, URL: {link.get('href')}")
find_all('a')
: 모든<a>
태그를 찾습니다.link.get('href')
:<a>
태그의href
속성값을 가져옵니다.
이 코드들은 BeautifulSoup
을 사용하여 웹 페이지에서 다양한 정보를 추출하는 기본적인 방법들을 보여줍니다. 웹 크롤링 작업을 진행할 때, 페이지의 구조와 필요한 데이터에 따라 이 코드들을 조합하거나 수정하여 사용할 수 있습니다.
728x90
'Web Crawling for Beginners' 카테고리의 다른 글
URL 깊이 우선 탐색(DFS) 웹 크롤러 (0) | 2024.04.24 |
---|---|
URL 너비 우선 탐색(BFS) 웹 크롤러 (0) | 2024.04.24 |
BeautifulSoup API 가이드 (0) | 2024.04.23 |
웹 크롤링 개발을 위한 파이썬 준비 (0) | 2024.04.23 |
파이썬과 웹 크롤링 (0) | 2024.04.23 |
Comments