[파이썬] 웹 페이지의 링크 추출과 탐색
파이썬을 사용하여 웹 페이지에서 링크를 추출하고 탐색하는 방법에 대해 알아보겠습니다.
라이브러리 설치
먼저, beautifulsoup4
라이브러리를 설치해야 합니다. 이 라이브러리는 웹 페이지의 HTML을 파싱하고 링크를 추출하기 위해 사용됩니다. 다음 명령어를 사용하여 라이브러리를 설치합니다.
pip install beautifulsoup4
웹 페이지의 링크 추출
다음은 파이썬을 사용하여 웹 페이지의 링크를 추출하는 예제 코드입니다.
import requests
from bs4 import BeautifulSoup
# 웹 페이지 URL
url = "https://example.com"
# HTTP GET 요청
response = requests.get(url)
# 페이지 내용을 BeautifulSoup 객체로 변환
soup = BeautifulSoup(response.content, "html.parser")
# 모든 링크 태그 (a 태그) 추출
links = soup.find_all("a")
# 링크 출력
for link in links:
print(link["href"])
위 예제에서는 requests
라이브러리를 사용하여 웹 페이지에 HTTP GET 요청을 보내고, response
변수에 응답을 저장합니다. 그 후, beautifulsoup4
라이브러리를 사용하여 페이지 내용을 파싱하고, 모든 a
태그를 추출하여 출력합니다.
링크 탐색
링크를 추출한 후에는 해당 링크를 사용하여 다른 웹 페이지로 이동하고 탐색할 수 있습니다. 다음은 링크를 탐색하는 예제 코드입니다.
import requests
from bs4 import BeautifulSoup
# 웹 페이지 URL
url = "https://example.com"
# HTTP GET 요청
response = requests.get(url)
# 페이지 내용을 BeautifulSoup 객체로 변환
soup = BeautifulSoup(response.content, "html.parser")
# 모든 링크 태그 (a 태그) 추출
links = soup.find_all("a")
# 링크를 따라가며 탐색
for link in links:
# 링크 URL 가져오기
link_url = link["href"]
# 링크 URL에 접속하여 페이지 내용 가져오기
link_response = requests.get(link_url)
link_soup = BeautifulSoup(link_response.content, "html.parser")
# 가져온 페이지 내용을 기반으로 추가적인 탐색 수행
# 예시: 페이지 제목 출력
title = link_soup.find("title")
if title:
print(title.text)
위 예제에서는 링크를 따라가며 각 링크의 URL에 접속하여 페이지 내용을 가져옵니다. 가져온 페이지 내용을 link_soup
변수에 저장하고, 이를 기반으로 원하는 작업을 수행할 수 있습니다. 위 예제에서는 가져온 페이지의 제목을 출력하는 예시가 포함되어 있습니다.
정리
이제 웹 페이지의 링크 추출과 탐색에 대해 알아보았습니다. beautifulsoup4
라이브러리를 사용하여 HTML을 파싱하고, 추출한 링크를 사용하여 다른 웹 페이지로 이동하고 탐색할 수 있습니다. 이를 활용하여 웹 스크래핑, 웹 크롤링 등 다양한 웹 관련 작업을 수행할 수 있습니다.