[python] Requests-HTML로 웹 페이지의 사이트맵 파일 추출하기
웹 사이트의 사이트맵 파일은 웹 페이지의 구조를 제공하여 검색 엔진이 페이지를 쉽게 찾을 수 있도록 도와줍니다. 이번에는 Python의 Requests-HTML 라이브러리를 사용하여 웹 페이지의 사이트맵 파일을 추출하는 방법을 알아보겠습니다.
1. Requests-HTML 설치하기
먼저, Requests-HTML 라이브러리를 설치해야 합니다. 아래의 명령어를 실행하여 설치할 수 있습니다.
pip install requests-html
2. 사이트맵 URL 얻기
웹 사이트의 사이트맵 URL을 얻어야 합니다. 일반적으로 사이트맵 파일은 robots.txt
파일에서 찾을 수 있습니다. robots.txt
파일은 웹 사이트의 크롤링 규칙을 정의하는 텍스트 파일입니다. 아래의 코드를 사용하여 robots.txt
파일에서 사이트맵 URL을 찾을 수 있습니다.
from requests_html import HTMLSession
def find_sitemap_url(url):
session = HTMLSession()
response = session.get(url)
response.html.render()
sitemap_urls = response.html.xpath("//*/text()[normalize-space()='Sitemap:']/following-sibling::a[1]/text()")
if sitemap_urls:
return sitemap_urls[0]
else:
return None
# 웹 사이트 URL을 입력하세요
url = "https://example.com"
sitemap_url = find_sitemap_url(url)
if sitemap_url:
print("사이트맵 URL:", sitemap_url)
else:
print("사이트맵 파일을 찾을 수 없습니다.")
3. 사이트맵 파일 다운로드
사이트맵 URL을 얻었다면, requests
라이브러리를 사용하여 사이트맵 파일을 다운로드할 수 있습니다. 아래의 코드를 사용하여 사이트맵 파일을 다운로드할 수 있습니다.
import requests
def download_sitemap(url, path):
response = requests.get(url)
with open(path, "wb") as file:
file.write(response.content)
# 사이트맵 파일을 저장할 경로와 파일 이름을 입력하세요
sitemap_path = "sitemap.xml"
download_sitemap(sitemap_url, sitemap_path)
print("사이트맵 파일 다운로드 완료:", sitemap_path)
결론
위의 예제를 통해 Requests-HTML 라이브러리를 사용하여 웹 페이지의 사이트맵 파일을 추출하는 방법을 알아보았습니다. 이를 통해 웹 사이트의 구조를 더 잘 이해하고 검색 엔진 최적화를 위한 작업을 수행할 수 있습니다.