일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 안드로이드
- Outlook
- 엑셀
- python3
- 깃
- 파이썬GUI
- Android
- 파이썬
- 윈도우11
- 아웃룩
- Excel
- matlab
- office
- html
- VBA
- pyqt5
- Windows11
- win32com
- pythongui
- 윈도우10
- 비주얼베이직
- Windows10
- windows
- pandas
- 파워포인트
- 문자열
- python
- git
- 파이썬3
- 오피스
Appia의 IT세상
파이썬[Python] 뷰티풀수프, Beautiful Soup을 이용한 xml 읽기 본문
파이썬[Python] 뷰티풀수프, Beautiful Soup을 이용한 xml 읽기
실제 뷰티풀수프(Beautiful Soup)을 이용하여 웹크롤링을 하는 경우는 매우 많습니다. 저 또한 웹크롤링을 할 때 뷰티풀수프(Beautiful Soup)를 사용하는 경우가 매우 많았습니다. 하지만, 이 부분을 웹 크롤링이 아닌 경우에도 사용이 가능합니다. 그래서 이번 포스팅에서는 XML을 파싱할 때 이 부분에 대해서 사용을 해보고자 합니다.
먼저, 이번 포스팅을 파이썬 기반으로 뷰티풀수프(Beautiful Soup)가 설치 되어 있다는 전제로 이루어집니다. 혹 설치가 되어 있지 않으시다면, 다음 포스팅을 참조하셔서 설치 해주시길 바랍니다.
Python[파이썬 웹크롤러] 04-WebCrawler beautifulsoup4(뷰티풀 수프)설치하기
먼저, 다음과 같은 단계로 이루어질 것입니다.
1. 파일 읽기
2. Beautifulsoup으로 관련 xml 형태로 읽기
그리고 다음고가 같은 파일을 활용하여, 데이터를 추출하도록 하겠습니다. 실제 다음 데이터는 https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms762271(v=vs.85) 에 있는 샘플 데이터를 활용한 것입니다.
그럼 각 부분을 진행해보도록 하겠습니다.
1.파일 읽기
그럼 먼저, 파일 읽기를 진행해보도록 하겠습니다. 특정 경로를 받아서, 그 경로에 있는 파일을 읽어오는 형태로 작업을 진행합니다.
def fiel_open(file):
#파일 읽기
rawdata = open(file, 'r', encoding='utf-8' )
data = rawdata.read()
return data
2. Beautifulsoup으로 관련 xml 형태로 읽기
먼저, 위의 과정에서 파일읽기에서 읽어온 결과물을 BeautifulSoup을 통해서 가져왔습니다.
def load_content(file):
#뷰티풀 수프를 이용하여 beattiful soup 으로 읽어오는 과정
data = fiel_open(file)
soup = BeautifulSoup(data, "lxml")
*Parser의 경우, 저의 경우 lxml 을 사용하였을 뿐이고, 실제로는 xml, html.parser로도 동작함.
그리고, 저의 경우 tilte에 있는 부분들만 출력을 하여 약간의 코드를 변형하여 다음과 같이 작성을 하였습니다.
from bs4 import BeautifulSoup
def fiel_open(file):
#파일 읽기
rawdata = open(file, 'r', encoding='utf-8' )
data = rawdata.read()
return data
def load_content(file):
#뷰티풀 수프를 이용하여 beattiful soup 으로 읽어오는 과정
data = fiel_open(file)
soup = BeautifulSoup(data, "lxml")
data = soup.select('title')
for item in data :
print(item.text)
if __name__ == '__main__':
file = r'D:\Data\example1.xml'
load_content(file)
그런 결과 다음과 같은 결과가 나오는 것을 확인할 수 있었습니다.
XML Developer's Guide
Midnight Rain
Maeve Ascendant
Oberon's Legacy
The Sundered Grail
Lover Birds
Splish Splash
Creepy Crawlies
Paradox Lost
Microsoft .NET: The Programming Bible
MSXML3: A Comprehensive Guide
Visual Studio 7: A Comprehensive Guide
이와 같은 방법으로 XML에 읽을 수 있습니다.
파이썬[Python] xml 파싱을 위한 lxml 모듈 설치
이번 포스팅에서는 파이썬[Python] 뷰티풀수프, Beautiful Soup을 이용한 xml 읽기라는 주제로 포스팅을 해봤습니다. 실제, xml을 읽는 방법에는 자체 xml모듈을 이용하는 경우도 있습니다. 저의 경우에는 큰 형태의 xml 파일을 읽을 때, 원하는 부분만 쉽게 읽기 위해서 뷰티풀수프(Beautiful Soup)를 이용합니다. 향후에 xml 자체 모듈을 이용한 데이터를 읽는 방법에 대해서도 포스팅을 진행해보도록 하겠습니다. 혹 궁금하신 점이나 문의 사항이 있으시면 언제든지 댓글 및 방명록에 글 남겨주시길 바랍니다.
'Python > Python 기본' 카테고리의 다른 글
파이썬[Python] 고급 크롤링을 위한 selenium 모듈 설치하기 (3) | 2021.10.27 |
---|---|
파이썬[Python] MySQL을 사용하기 위한 Pymysql 모듈 설치하기 (0) | 2021.10.13 |
파이썬[Python] xml 파싱을 위한 lxml 모듈 설치 (0) | 2021.10.08 |
주피터 노트북[Jupyter Notebook] 시작 폴더 위치 변경하기 (0) | 2021.09.05 |
주피터 노트북[Jupyter Notebook]마크다운(Mark Down)사용하기 (0) | 2021.08.14 |