작성
·
387
2
안녕하세요.
선생님께서 강의해주신대로 청므에 xml을 입력해서 출력값을 확인하려고 하였으나 계속 아래와 같은 에러가 발생하였습니다.
근데 원래 기존의 코드의 BeautifulSoup(data_file. 'xml')에서
아래와 같이 BeautifulSoup(data_file.'html.parser')라고 수정하여 다시 실행했더니 정상적으로 출력되었습니다.
이 해결법은 구글링해서 알아낸건데, 해결방법을 제시한 블로거도 이유는 모르지만 이렇게 하면 해결된다~ 라는 식으로 적어놔서 질문드립니다.
처음에 생긴오류는 왜 생겨난것이고 어째서 저렇게 하면 해결되는 걸까요..?
답변 3
1
답변 감사드립니다. 제가 기존 컴퓨터에 파이썬 최신버전이 설치된상태에서 아나콘다를 설치해서그런가.. 라이브러리가 꼬여버린 이유를 잘모르겠지만, 궁금증이 해결된거 같스빈다. lxml을 html.parser를 쓰기전에 써봤는데 안되더라구요. 그래도 큰 이슈가 없다니 해당 pc에서는 html.parser를 써야겠네요. 링크 많은 도움이 되었습니다. 빠른 parser를 못쓰는건 아쉽네요 ㅠ-ㅠ
1
각 parser 마다 관련된 라이브러리가 있어야 하는데요.
BeautifulSoup 에서 xml 이라는 파서를 지원하는데, 뭔가 관련 라이브러리가 꼬여서 그런것이 아닌가 해요.
pip install lxml 로 lxml 라이브러리를 설치하신 다음에,
BeautifulSoup(data_file. 'xml') 을 BeautifulSoup(data_file. 'lxml') 로 써보실래요?
html.parser 파서를 써도 큰 이슈는 없습니다. 매우 세세한 xml 문법에서만 약간의 이슈가 있다 정도라서요.
그리고, 이외에도 사실 파서가 여러 개가 있어요. 다음 링크도 한번 확인해보시면 좋을 것 같아요.
0