본문으로 건너뛰기

위키피디아 문서 크롤링

위키피디아 문서 크롤링

이 문서에서는 Python의 requestsBeautifulSoup 라이브러리를 사용하여 위키피디아 문서의 제목과 첫 번째 문단을 크롤링하는 방법에 대해 알아보겠습니다.

Step 1

HTML 가져오기 및 파싱
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." 메시지를 출력합니다.


실습

화면 오른쪽 코드 실행 버튼을 누르고, 크롤링 결과를 확인하거나 코드를 수정해 보세요!