๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

ํŒŒ์ด์ฌ์„ ํ™œ์šฉํ•œ ์›น ํฌ๋กค๋ง๊ณผ ๋ฐ์ดํ„ฐ ๋ถ„์„์œผ๋กœ ํšจ์œจ์ ์ธ ์ •๋ณด ์ˆ˜์ง‘๊ณผ ๊ฐ€์น˜ ์žˆ๋Š” ์ธ์‚ฌ์ดํŠธ ์–ป๊ธฐ

์›น ํฌ๋กค๋ง & ๋ฐ์ดํ„ฐ ๋ถ„์„ with ํŒŒ์ด์ฌ

์›น ํฌ๋กค๋ง๊ณผ ๋ฐ์ดํ„ฐ ๋ถ„์„์€ ํ˜„์žฌ ๋ฐ์ดํ„ฐ ๊ณผํ•™ ๋ถ„์•ผ์—์„œ ๊ฐ€์žฅ ํ•ต์‹ฌ์ ์ธ ๊ธฐ์ˆ  ์ค‘ ํ•˜๋‚˜๋กœ ์†๊ผฝํž™๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ํŒŒ์ด์ฌ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›น ํฌ๋กค๋ง๊ณผ ๋ฐ์ดํ„ฐ ๋ถ„์„์„ ์–ด๋–ป๊ฒŒ ์ˆ˜ํ–‰ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์›น ํฌ๋กค๋ง

์›น ํฌ๋กค๋ง์€ ์›น ํŽ˜์ด์ง€๋ฅผ ํƒ์ƒ‰ํ•˜์—ฌ ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ์ž‘์—…์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ์—์„œ๋Š” requests์™€ BeautifulSoup ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ์›น ํฌ๋กค๋ง์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. requests๋Š” HTTP ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์‘๋‹ต์„ ๋ฐ›์•„์˜ค๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๋ฉฐ, BeautifulSoup๋Š” HTML๊ณผ XML ๋ฌธ์„œ๋ฅผ ํŒŒ์‹ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

import requests
from bs4 import BeautifulSoup

url = 'https://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')

# ํ•„์š”ํ•œ ์ •๋ณด ์ถ”์ถœ
title = soup.title
print(title.text)

๋ฐ์ดํ„ฐ ๋ถ„์„

์›น ํฌ๋กค๋ง์„ ํ†ตํ•ด ์ˆ˜์ง‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” pandas์™€ matplotlib ๋˜๋Š” seaborn ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. pandas๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ œ๊ณตํ•˜๊ณ , matplotlib๊ณผ seaborn์€ ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐํ™”ํ•˜๋Š” ๋ฐ ์œ ์šฉํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.

import pandas as pd
import matplotlib.pyplot as plt

data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
        'Age': [25, 30, 35, 40],
        'Score': [80, 85, 90, 95]}

df = pd.DataFrame(data)
print(df)

# ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”
plt.bar(df['Name'], df['Score'])
plt.show()

๋ฐ์ดํ„ฐ ๋ถ„์„ ํ”„๋กœ์„ธ์Šค

  1. ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘: ์›น ํฌ๋กค๋ง ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ: ๋ˆ„๋ฝ๋œ ๊ฐ’์ด๋‚˜ ์ด์ƒ์น˜๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฅผ ์ •์ œํ•ฉ๋‹ˆ๋‹ค.
  3. ๋ฐ์ดํ„ฐ ๋ถ„์„: pandas๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๊ณ , matplotlib ๋˜๋Š” seaborn์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ๊ฐํ™”ํ•ฉ๋‹ˆ๋‹ค.
  4. ๊ฒฐ๊ณผ ํ•ด์„: ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ํ† ๋Œ€๋กœ ์ธ์‚ฌ์ดํŠธ๋ฅผ ๋„์ถœํ•˜๊ณ  ๊ฒฐ๋ก ์„ ๋„์ถœํ•ฉ๋‹ˆ๋‹ค.

์œ„์™€ ๊ฐ™์€ ๊ณผ์ •์„ ๊ฑฐ์ณ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ธ์‚ฌ์ดํŠธ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›น ํฌ๋กค๋ง๊ณผ ๋ฐ์ดํ„ฐ ๋ถ„์„์„ ํ•จ๊ป˜ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋”์šฑ ๊ฐ•๋ ฅํ•œ ๋ถ„์„์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๊ณผํ•™ ๋ถ„์•ผ์—์„œ ํŒŒ์ด์ฌ์€ ๋งค์šฐ ์ธ๊ธฐ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋ฉฐ, ๋›ฐ์–ด๋‚œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ถ„์„ ์ž‘์—…์„ ํšจ์œจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ƒ์œผ๋กœ ์›น ํฌ๋กค๋ง๊ณผ ๋ฐ์ดํ„ฐ ๋ถ„์„์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ์†Œ๊ฐœ๋ฅผ ๋งˆ์น˜๊ฒ ์Šต๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ์„ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ๋ถ„์„ํ•˜๋Š” ๊ณผ์ •์€ ๋งค์šฐ ํฅ๋ฏธ๋กœ์šธ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์‹ค์ œ ๋ฌธ์ œ ํ•ด๊ฒฐ์—๋„ ํฐ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•จ๊ป˜ ํŒŒ์ด์ฌ์„ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๊ณผํ•™์˜ ์„ธ๊ณ„๋ฅผ ํƒํ—˜ํ•ด๋ณด์„ธ์š”!