[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를 사용하면 웹 페이지에서 태그 순서를 쉽게 변경할 수 있습니다. 이를 활용하여 웹 스크래핑 작업을 보다 효율적으로 수행할 수 있습니다.

참고 문헌: