Guidelines

μœ„ν‚€ν”Όλ””μ•„ μ΅œμ‹  ν™”μ œ 기사 크둀링

BeautifulSoup의 find_all λ©”μ„œλ“œλ₯Ό 을 ν™œμš©ν•΄ μœ„ν‚€ν”Όλ””μ•„μ˜ μš”μ¦˜ ν™”μ œ μ—μ„œ μ£Όμš” 이벀트λ₯Ό 크둀링 ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€.


예제 μ½”λ“œ μ„€λͺ…

μ΅œμ‹  ν™”μ œ 기사 제λͺ© 10개 μΆ”μΆœ
import requests from bs4 import BeautifulSoup def crawl_wikipedia_current_events_first_10_titles(): url = "https://ko.wikipedia.org/wiki/μœ„ν‚€λ°±κ³Ό:μš”μ¦˜_ν™”μ œ" response = requests.get(url) if response.status_code != 200: print("응닡 μ‹€νŒ¨", response.status_code) return None soup = BeautifulSoup(response.content, "html.parser") # μš”μ¦˜ ν™”μ œ μ„Ήμ…˜μ˜ λ‚΄μš©μ„ λ‹΄κ³  μžˆλŠ” div νƒœκ·Έλ₯Ό 찾음 current_events_section = soup.find("div", {"id": "mw-content-text"}) # div νƒœκ·Έ λ‚΄λΆ€μ˜ λͺ¨λ“  li νƒœκ·Έλ₯Ό 찾음 list_items = current_events_section.find_all("li") if current_events_section else [] # li νƒœκ·Έ λ‚΄λΆ€μ˜ ν…μŠ€νŠΈλ₯Ό μΆ”μΆœν•˜μ—¬ λ¦¬μŠ€νŠΈμ— μ €μž₯ titles = [item.get_text(strip=True) for item in list_items[:10]] return titles

  1. μ›Ή νŽ˜μ΄μ§€ μš”μ²­: requests.get(url)을 톡해 νŠΉμ • URL의 λ‚΄μš©μ„ μš”μ²­ν•©λ‹ˆλ‹€.

  2. 응닡 μƒνƒœ 확인: response.status_codeλ₯Ό κ²€μ‚¬ν•˜μ—¬ μš”μ²­μ΄ μ„±κ³΅μ μœΌλ‘œ μ΄λ£¨μ–΄μ‘ŒλŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€.

  3. BeautifulSoup 객체 생성 및 데이터 νŒŒμ‹±: BeautifulSoup(response.content, "html.parser")을 μ‚¬μš©ν•˜μ—¬ HTML λ‚΄μš©μ„ νŒŒμ‹±ν•©λ‹ˆλ‹€.

  4. νŠΉμ • μ„Ήμ…˜μ—μ„œ 데이터 μΆ”μΆœ: μ›Ή νŽ˜μ΄μ§€ λ‚΄ νŠΉμ • μ„Ήμ…˜(예: 'μš”μ¦˜ ν™”μ œ')의 λͺ¨λ“  li νƒœκ·Έλ₯Ό μ°Ύκ³ , 이 쀑 처음 10개의 ν•­λͺ©μ„ μΆ”μΆœν•©λ‹ˆλ‹€.


μ‹€μŠ΅ 과제

  • μœ„ μ½”λ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ μœ„ν‚€ν”Όλ””μ•„ 'μš”μ¦˜ ν™”μ œ' μ„Ήμ…˜μ˜ μ΅œμ‹  이벀트 제λͺ©λ“€μ„ μΆ”μΆœν•΄λ³΄μ„Έμš”.

  • λ‹€μ–‘ν•œ μ›Ή νŽ˜μ΄μ§€μ™€ μ„Ήμ…˜μ„ νƒ€κ²ŸμœΌλ‘œ μ„€μ •ν•˜μ—¬ 데이터 μΆ”μΆœ 기법을 μ—°μŠ΅ν•΄λ³΄μ„Έμš”.

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result