[python] Beautiful Soup로 웹 페이지에서 태그 순서 변경하기
웹 스크래핑을 위해 Beautiful Soup를 사용하는 경우, 때로는 웹 페이지의 태그 순서를 변경해야 할 때가 있습니다. 이런 경우에 Beautiful Soup의 강력한 기능을 활용하여 태그 순서를 쉽게 변경할 수 있습니다.
여기 예시로, 특정 웹 페이지에서 <h1>
태그와 <p>
태그가 역순으로 되어있는 경우를 가정해보겠습니다. <h1>
태그가 <p>
태그 위에 있어야 하지만, 실수로 반대로 작성되어있습니다. 이런 상황에서 Beautiful Soup를 사용하여 태그 순서를 바꾸는 방법을 알아보겠습니다.
먼저, Beautiful Soup를 사용하기 위해 필요한 모듈을 import 합니다.
from bs4 import BeautifulSoup
그다음, 크롤링할 웹 페이지의 HTML을 가져옵니다.
html = """
<html>
<body>
<h1>This is the title</h1>
<p>This is a paragraph</p>
</body>
</html>
"""
Beautiful Soup를 사용하여 HTML을 파싱합니다.
soup = BeautifulSoup(html, 'lxml')
이제, 웹 페이지에서 태그를 선택하고 순서를 변경할 수 있습니다. find()
메서드를 사용하여 원하는 태그를 선택하고, insert_before()
메서드를 사용하여 태그를 원하는 위치로 이동시킵니다.
h1_tag = soup.find('h1')
p_tag = soup.find('p')
p_tag.insert_before(h1_tag)
태그 순서를 변경한 후의 HTML 결과를 확인합니다.
print(soup.prettify())
결과는 아래와 같이 <h1>
태그가 <p>
태그 위에 위치하게 됩니다.
<html>
<body>
<h1>
This is the title
</h1>
<h1>
This is a paragraph
</h1>
</body>
</html>
위의 예시처럼 Beautiful Soup를 사용하면 웹 페이지에서 태그 순서를 쉽게 변경할 수 있습니다. 이를 활용하여 웹 스크래핑 작업을 보다 효율적으로 수행할 수 있습니다.
참고 문헌: