Requests-HTML는 Python에서 웹 페이지의 데이터를 가져오고 조작하는 데 사용되는 라이브러리입니다. 이번에는 이 라이브러리를 사용하여 웹 페이지에 새로운 데이터를 추가하는 방법을 알아보겠습니다.
1. 패키지 설치
먼저 Requests-HTML 패키지를 설치해야 합니다. 아래의 명령어를 사용하여 설치합니다.
pip install requests-html
2. 웹 페이지에 접속하기
Requests-HTML를 사용하여 웹 페이지에 접속하려면 HTMLSession
객체를 생성하고 get()
메서드를 사용하여 웹 페이지의 HTML 데이터를 가져와야 합니다. 예를 들면 다음과 같습니다.
from requests_html import HTMLSession
session = HTMLSession()
response = session.get('https://example.com')
3. 웹 페이지의 데이터 가져오기
웹 페이지의 데이터를 가져오기 위해서는 find()
메서드를 사용하여 원하는 요소를 찾아야 합니다. 예를 들어, <div>
태그의 데이터를 가져오고 싶다면 다음과 같이 작성할 수 있습니다.
div_data = response.html.find('div')
for div in div_data:
print(div.text)
4. 웹 페이지에 데이터 추가하기
다음으로는 웹 페이지에 새로운 데이터를 추가하는 방법을 알아보겠습니다. render()
메서드를 사용하여 자바스크립트 실행환경에서 웹 페이지를 렌더링한 후, html.render()
함수를 사용하여 변경된 HTML을 가져올 수 있습니다.
# 새로운 데이터 추가
new_data = '<div>New data</div>'
response.html.render()
response.html.find('body')[0].html += new_data
이제 response.html.html
을 통해 변경된 HTML을 확인할 수 있습니다.
5. 웹 페이지에 데이터 업데이트하기
만약 웹 페이지의 특정 데이터를 업데이트하고 싶다면, 해당 데이터를 찾은 후 내용을 수정하고 html.render()
를 호출하여 업데이트된 HTML을 가져올 수 있습니다. 예를 들어, <h1>
태그의 데이터를 업데이트하고 싶다면 다음과 같이 작성할 수 있습니다.
header = response.html.find('h1')[0]
header.text = 'Updated header'
response.html.render()
6. 변경된 결과 저장하기
마지막으로 변경된 결과를 저장하기 위해 response.html.render()
의 결과를 파일에 저장할 수 있습니다.
with open('updated_page.html', 'w', encoding='utf-8') as file:
file.write(response.html.render())
이제 ‘updated_page.html’ 파일에 변경된 페이지를 확인할 수 있습니다.
Requests-HTML를 사용하여 웹 페이지에 새로운 데이터를 추가하는 방법에 대해 알아보았습니다. 이 라이브러리를 사용하면 자바스크립트 실행 환경에서 웹 페이지를 렌더링하고, 원하는 데이터를 가져오고 수정할 수 있습니다.