Guidelines

λ¦¬ν¬μ§€ν† λ¦¬μ—μ„œ μŠ€νƒ€ μˆ˜μ™€ 포크 수 ν¬λ‘€λ§ν•˜κΈ°

이번 μˆ˜μ—…μ€ 보닀 더 μ„Έλ°€ν•œ 논리 ꡬ쑰λ₯Ό 톡해 λ¦¬ν¬μ§€ν† λ¦¬μ˜ μŠ€νƒ€(Star, μ’‹μ•„μš”) μˆ˜μ™€ 포크(Fork, ν”„λ‘œμ νŠΈ 볡제) 수λ₯Ό ν¬λ‘€λ§ν•˜κ³  좜λ ₯ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€.

Step 1

μ›Ή νŽ˜μ΄μ§€ HTML κ°€μ Έμ˜€κΈ°
response = requests.get(url) html_content = response.text
  • requests.get(url): 주어진 URL의 μ›Ή νŽ˜μ΄μ§€λ‘œλΆ€ν„° 데이터λ₯Ό κ°€μ Έμ˜€λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€. 이 경우, Django의 GitHub 리포지토리 νŽ˜μ΄μ§€μž…λ‹ˆλ‹€.
  • response.text: requests.get ν•¨μˆ˜λ‘œλΆ€ν„° 받은 μ‘λ‹΅μ—μ„œ HTML λ‚΄μš©μ„ λ¬Έμžμ—΄λ‘œ μΆ”μΆœν•©λ‹ˆλ‹€.

Step 2

HTML νŒŒμ‹±
soup = BeautifulSoup(html_content, 'html.parser')
  • BeautifulSoup(html_content, 'html.parser'): BeautifulSoup을 μ‚¬μš©ν•˜μ—¬ html_contentλ₯Ό νŒŒμ‹±ν•©λ‹ˆλ‹€. μ΄λ ‡κ²Œ ν•˜λ©΄ HTML μš”μ†Œμ— μ‰½κ²Œ μ ‘κ·Όν•˜κ³ , μ‘°μž‘ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Step 3

μŠ€νƒ€μ™€ 포크 수 μ°ΎκΈ°
ids_to_find = ['repo-stars-counter-star', 'repo-network-counter']
  • 이 λ¦¬μŠ€νŠΈμ—λŠ” μŠ€νƒ€ μˆ˜μ™€ 포크 수λ₯Ό ν‘œμ‹œν•˜λŠ” HTML μš”μ†Œμ˜ IDκ°€ μ €μž₯λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. 이 IDλ₯Ό μ‚¬μš©ν•˜μ—¬ μ›Ή νŽ˜μ΄μ§€μ—μ„œ ν•΄λ‹Ή 정보λ₯Ό 찾을 수 μžˆμŠ΅λ‹ˆλ‹€.

Step 4

정보 μΆ”μΆœ
for id_value in ids_to_find: element_content = soup.find(id=id_value) found_contents[id_value] = element_content.get_text() if element_content else "λ‚΄μš© μ—†μŒ"
  • soup.find(id=id_value): νŒŒμ‹±λœ HTML λ‚΄μš©μ—μ„œ 주어진 IDλ₯Ό 가진 μš”μ†Œλ₯Ό μ°ΎμŠ΅λ‹ˆλ‹€.
  • element_content.get_text(): 찾은 μš”μ†Œμ—μ„œ ν…μŠ€νŠΈ λ‚΄μš©μ„ μΆ”μΆœν•©λ‹ˆλ‹€. μš”μ†Œκ°€ μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” 경우, "λ‚΄μš© μ—†μŒ"을 λ°˜ν™˜ν•©λ‹ˆλ‹€.

Step 5

좜λ ₯
for id_value, content in found_contents.items(): print(f"ID '{id_value}': {content}")
  • found_contents.items(): 찾은 λ‚΄μš©μ„ μˆœνšŒν•˜λ©΄μ„œ 각 ID와 ν•΄λ‹Ή ν…μŠ€νŠΈ λ‚΄μš©μ„ 좜λ ₯ν•©λ‹ˆλ‹€. 이λ₯Ό 톡해 μ‚¬μš©μžλŠ” μŠ€νƒ€ μˆ˜μ™€ 포크 수λ₯Ό 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

μ‹€μŠ΅ 과제

  • GitHub의 λ‹€λ₯Έ 리포지토리 URL을 μ‚¬μš©ν•˜μ—¬ μœ„ μ½”λ“œλ₯Ό μ‹€ν–‰ν•΄λ³΄μ„Έμš”.

  • λ‹€λ₯Έ IDλ‚˜ 클래슀λ₯Ό μ‚¬μš©ν•˜μ—¬ λ‹€μ–‘ν•œ 데이터λ₯Ό μΆ”μΆœν•˜λŠ” 방법을 μ—°μŠ΅ν•΄λ³΄μ„Έμš”.

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result