Guidelines

μ‹€μ‹œκ°„μœΌλ‘œ ν’€ λ¦¬ν€˜μŠ€νŠΈ 수 ν¬λ‘€λ§ν•˜κΈ°

이번 μˆ˜μ—…μ€ GitHub의 Django 리포지토리 νŽ˜μ΄μ§€λ‘œλΆ€ν„° ν’€ λ¦¬ν€˜μŠ€νŠΈ(Pull Request) 수λ₯Ό ν¬λ‘€λ§ν•˜μ—¬ 화면에 좜λ ₯ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€.

참고둜 ν’€ λ¦¬ν€˜μŠ€νŠΈ(Pull Request)λŠ” λ‹€λ₯Έ μ‚¬μš©μžμ˜ 리포지토리에 λ³€κ²½ 사항을 μ œμ•ˆν•˜λŠ” 것을 λœ»ν•©λ‹ˆλ‹€.


Step 1

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

Step 2

HTML νŒŒμ‹±
soup = BeautifulSoup(html_content, "html.parser")
  • BeautifulSoup(html_content, "html.parser"): κ°€μ Έμ˜¨ HTML 컨텐츠(html_content)λ₯Ό νŒŒμ‹±ν•˜κΈ° μœ„ν•΄ BeautifulSoup을 μ‚¬μš©ν•©λ‹ˆλ‹€. 이 μž‘μ—…μ„ 톡해 HTML λ¬Έμ„œ λ‚΄μ˜ λ‹€μ–‘ν•œ μš”μ†Œμ— μ‰½κ²Œ μ ‘κ·Όν•  수 있게 λ©λ‹ˆλ‹€.

Step 3

정보 μΆ”μΆœ
count = soup.find(id="pull-requests-repo-tab-count").get_text()
  • soup.find(id="pull-requests-repo-tab-count"): νŒŒμ‹±λœ HTML λ‚΄μš©μ—μ„œ IDκ°€ pull-requests-repo-tab-count인 μš”μ†Œλ₯Ό μ°ΎμŠ΅λ‹ˆλ‹€. 이 IDλŠ” GitHub 리포지토리 νŽ˜μ΄μ§€μ—μ„œ ν’€ λ¦¬ν€˜μŠ€νŠΈ 수λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μš”μ†Œμ˜ IDμž…λ‹ˆλ‹€.
  • .get_text(): 찾은 μš”μ†Œμ—μ„œ ν…μŠ€νŠΈ λ‚΄μš©(μ—¬κΈ°μ„œλŠ” ν’€ λ¦¬ν€˜μŠ€νŠΈ 수)을 μΆ”μΆœν•©λ‹ˆλ‹€.

주의 : 크둀링을 μˆ˜ν–‰ν•  λ•ŒλŠ” λŒ€μƒ μ›Ήμ‚¬μ΄νŠΈμ˜ robots.txt 파일과 이용 약관을 ν™•μΈν•˜μ—¬ κ·œμ •μ„ μ€€μˆ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.


μ‹€μŠ΅ 과제

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

  • λ‹€λ₯Έ HTML νƒœκ·Έλ₯Ό νƒ€κ²ŸμœΌλ‘œ μ„€μ •ν•˜μ—¬ ν•΄λ‹Ή νƒœκ·Έμ˜ 데이터λ₯Ό μΆ”μΆœν•˜λŠ” 방법을 μ—°μŠ΅ν•΄λ³΄μ„Έμš”.

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result