μν€νΌλμ λ¬Έμ ν¬λ‘€λ§
μ΄ λ¬Έμμμλ Pythonμ requests
μ BeautifulSoup
λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νμ¬ μν€νΌλμ λ¬Έμμ μ λͺ©κ³Ό 첫 λ²μ§Έ λ¬Έλ¨μ ν¬λ‘€λ§νλ λ°©λ²μ λν΄ μμλ³΄κ² μ΅λλ€.
Step 1
response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser')
μ΄ λΆλΆμμλ requests
λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νμ¬ μ£Όμ΄μ§ URLλ‘λΆν° HTML λ΄μ©μ κ°μ Έμ΅λλ€. κ·Έ ν, BeautifulSoup
λ₯Ό μ¬μ©νμ¬ κ°μ Έμ¨ HTMLμ νμ±νκ³ , νμ±λ λ΄μ©μ soup
κ°μ²΄μ μ μ₯ν©λλ€. μ΄ κ°μ²΄λ₯Ό ν΅ν΄ HTML μμμ μ½κ² μ κ·Όν μ μμ΅λλ€.
Step 2
page_title = soup.find('title').text
soup.find('title')
λ₯Ό ν΅ν΄ HTML λ¬Έμμ <title>
νκ·Έλ₯Ό μ°Ύκ³ , .text
μμ±μ μ¬μ©νμ¬ νκ·Έμ ν
μ€νΈ λ΄μ©μ μΆμΆν©λλ€. μ΄λ νμ΄μ§μ νμ΄ν(μ λͺ©)μ κ°μ Έμ€λ λ° μ¬μ©λ©λλ€.
Step 3
first_valid_paragraph = None for paragraph in soup.find_all('p'): if 'mw-empty-elt' not in paragraph.get('class', []): first_valid_paragraph = paragraph.text.strip() break
λͺ¨λ <p>
νκ·Έλ₯Ό μννλ©΄μ 'mw-empty-elt' ν΄λμ€λ₯Ό κ°μ§μ§ μλ 첫 λ²μ§Έ λ¬Έλ¨ μ°Ύμ΅λλ€. mw-empty-elt ν΄λμ€λ λΉ λ¬Έλ¨μ λνλ΄λ©°, μ΄λ₯Ό 건λλ°κ³ μ€μ λ΄μ©μ΄ μλ 첫 λ²μ§Έ λ¬Έλ¨μ μ°Ύμλ
λλ€.
Step 4
print(f"Page Title: {page_title}\n") if first_valid_paragraph: print(f"First Paragraph: {first_valid_paragraph}\n") else: print("No valid first paragraph found.\n")
λ§μ§λ§ λΆλΆμμλ μΆμΆν νμ΄μ§ νμ΄νκ³Ό 첫 λ²μ§Έ μ ν¨ν λ¬Έλ¨μ μΆλ ₯ν©λλ€. μ ν¨ν 첫 λ²μ§Έ λ¬Έλ¨μ΄ μλ κ²½μ° κ·Έ λ΄μ©μ, μλ κ²½μ° "No valid first paragraph found." λ©μμ§λ₯Ό μΆλ ₯ν©λλ€.
μ€μ΅
νλ©΄ μ€λ₯Έμͺ½ μ½λ μ€ν
λ²νΌμ λλ₯΄κ³ , ν¬λ‘€λ§ κ²°κ³Όλ₯Ό νμΈνκ±°λ μ½λλ₯Ό μμ ν΄ λ³΄μΈμ!
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help
Code Editor
Execution Result