Guidelines

파이썬으둜 μœ„ν‚€ν”Όλ””μ•„ ν™ˆνŽ˜μ΄μ§€ 정보 κ°€μ Έμ˜€κΈ°

μœ„ν‚€ν”Όλ””μ•„(Wikipedia)λŠ” μ „ 세계 μ‚¬λžŒλ“€μ΄ ν•¨κ»˜ λ§Œλ“€μ–΄ λ‚˜κ°€λŠ” 온라인 λ°±κ³Όμ‚¬μ „μž…λ‹ˆλ‹€. πŸ“˜

이번 μˆ˜μ—…μ—μ„œλŠ” 파이썬 μ½”λ“œλ‘œ μœ„ν‚€ν”Όλ””μ•„μ˜ νŠΉμ • νŽ˜μ΄μ§€μ—μ„œ μ›ν•˜λŠ” 정보λ₯Ό μˆ˜μ§‘ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€.

BeautifulSoupκ³Ό requests 라이브러리λ₯Ό ν™œμš©ν•΄, μ•„λž˜μ™€ 같이 μœ„ν‚€ν”Όλ””μ•„ ν™ˆνŽ˜μ΄μ§€μ˜ 제λͺ©(Title)κ³Ό μ„€λͺ…(Description)을 κ°€μ Έμ˜¬ 수 μžˆμŠ΅λ‹ˆλ‹€.


Step 1: μž‘μ—…μ— ν•„μš”ν•œ 라이브러리 뢈러였기

requests와 BeautifulSoup 라이브러리λ₯Ό κ°€μ Έμ˜΄
import requests from bs4 import BeautifulSoup

μœ„ μ½”λ“œλŠ” μ•„λž˜μ™€ 같은 μž‘μ—…μ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€.

  • import ν‚€μ›Œλ“œλ‘œ HTTP 톡신을 μœ„ν•œ requests 라이브러리λ₯Ό 뢈러옴

  • from ν‚€μ›Œλ“œλ‘œ μ›ΉνŽ˜μ΄μ§€μ˜ 데이터λ₯Ό μˆ˜μ§‘ν•˜κΈ° μœ„ν•œ bs4 νŒ¨ν‚€μ§€λ₯Ό 뢈러였고, bs4 νŒ¨ν‚€μ§€μ˜ BeautifulSoup 클래슀λ₯Ό κ°€μ Έμ˜΄


Step 2: urlμ—μ„œ HTML을 가져와 λ³€μˆ˜μ— μ €μž₯ν•˜κΈ°

BeautifulSoup으둜 μ•„λž˜μ™€ 같이 μ›ΉνŽ˜μ΄μ§€μ˜ HTML을 가져와 λ³€μˆ˜μ— μ €μž₯ν•©λ‹ˆλ‹€.

μœ„ν‚€ν”Όλ””μ•„ ν™ˆνŽ˜μ΄μ§€μ—μ„œ HTML κ°€μ Έμ˜€κΈ°
# μœ„ν‚€ν”Όλ””μ•„ ν™ˆνŽ˜μ΄μ§€ μ£Όμ†Œ url = "https://www.wikipedia.org" # requests 라이브러리둜 URLλ‘œλΆ€ν„° HTML을 κ°€μ Έμ˜΄ response = requests.get(url) # κ°€μ Έμ˜¨ HTML의 인코딩을 UTF-8둜 μ„€μ • response.encoding = 'utf-8' # λ³€μˆ˜ soup에 HTML을 κ°€μ Έμ˜¨ κ²°κ³Όκ°€ μ €μž₯됨 soup = BeautifulSoup(response.text, 'html.parser')

μœ„ μ½”λ“œλŠ” μ•„λž˜μ™€ 같은 μž‘μ—…μ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€.

  • url λ³€μˆ˜μ— μœ„ν‚€ν”Όλ””μ•„ ν™ˆνŽ˜μ΄μ§€ μ£Όμ†Œ μ €μž₯

  • requests.get(url)을 톡해 url μ£Όμ†Œλ‘œλΆ€ν„° HTML을 κ°€μ Έμ˜΄

  • BeautifulSoup(response.text, 'html.parser')λ₯Ό 톡해 κ°€μ Έμ˜¨ HTML을 νŒŒμ‹±(Parsing, 데이터 처리)ν•˜κ³ , νŒŒμ‹±λœ κ²°κ³Όλ₯Ό soup λ³€μˆ˜μ— μ €μž₯


Step 3: 제λͺ©κ³Ό μ„€λͺ… 정보 μΆ”μΆœν•˜κΈ°

μ•„λž˜μ™€ 같이 soup λ³€μˆ˜μ—μ„œ μ›ν•˜λŠ” 정보λ₯Ό μΆ”μΆœν•©λ‹ˆλ‹€.

μœ„ν‚€ν”Όλ””μ•„ ν™ˆνŽ˜μ΄μ§€μ—μ„œ 제λͺ©κ³Ό μ„€λͺ… μΆ”μΆœ
# μ›Ή νŽ˜μ΄μ§€μ—μ„œ h1(heading 1, 제λͺ©) μΆ”μΆœ h1_title = soup.find('h1').text # μ›Ή νŽ˜μ΄μ§€μ—μ„œ p(paragraph) νƒœκ·Έ μΆ”μΆœ p_description = soup.find('p').text

μœ„ μ½”λ“œλŠ” μ•„λž˜μ™€ 같은 μž‘μ—…μ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€.

  • soup.find('h1').textλ₯Ό 톡해 soup λ³€μˆ˜μ—μ„œ h1 νƒœκ·Έλ₯Ό μ°Ύμ•„ 제λͺ©μ„ μΆ”μΆœν•˜κ³ , h1_title λ³€μˆ˜μ— μ €μž₯

  • soup.find('p').textλ₯Ό 톡해 soup λ³€μˆ˜μ—μ„œ p νƒœκ·Έλ₯Ό μ°Ύμ•„ μ„€λͺ…을 μΆ”μΆœν•˜κ³ , p_description λ³€μˆ˜μ— μ €μž₯

λ§ˆμ§€λ§‰μœΌλ‘œ print ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ urlμ—μ„œ κ°€μ Έμ˜¨ 제λͺ©κ³Ό μ„€λͺ…을 좜λ ₯ν•©λ‹ˆλ‹€.


μ‹€μŠ΅

ν™”λ©΄ 였λ₯Έμͺ½μ˜ μ½”λ“œ μ‹€ν–‰ λ²„νŠΌμ„ λˆ„λ₯΄κ³ , μŠ€ν¬λž˜ν•‘ κ²°κ³Όλ₯Ό 확인해 λ³΄μ„Έμš”. 첫번째 μ½”λ“œ 싀행은 λ‹€μ†Œ μ‹œκ°„μ΄ μ†Œμš”λ  수 μžˆμŠ΅λ‹ˆλ‹€.

μ½”λ“œμ˜ url μ£Όμ†Œλ₯Ό λ³€κ²½ν•˜μ—¬(예: https://www.codefriends.net) λ‹€λ₯Έ μ›Ή νŽ˜μ΄μ§€μ˜ 정보λ₯Ό κ°€μ Έμ˜¬ μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result