커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
4-12 4:50 print(soup) 입력시 오류
undefined주차
북마크
류*영
댓글
5
추천
0
조회수
17
조회수
17
답변 완료

코드스니펫에서 붙여넣은 코드에서 print(soup) 코드 추가시


[Running] python -u "c:\Users\****\Desktop\sparta\projects\alonememo\meta_prac.py"
Traceback (most recent call last):
  File "c:\Users\****\Desktop\sparta\projects\alonememo\meta_prac.py", line 12, in <module>
    print(soup)
UnicodeEncodeError: 'cp949' codec can't encode character '\u203a' in position 146341: illegal multibyte sequence


이런 오류가 발생했는데요, 인코딩 문제인 것 같아 검색 후 해당 코드 위에


import sys
import io

sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding='utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding='utf-8')


이 구문을 추가했더니 일단은 html 코드를 가져오는 것을 확인할 수 있었습니다.


앞으로 수업 진행 시 계속 위에 저 코드를 붙여 넣어도 괜찮은지, 아니면 다른 해결 방법이 있는지 궁금합니다.

(참고로 사용자 이름은 가렸으나 영어로만 이루어져 있습니다.)


에러가 난 코드

import requests
from bs4 import BeautifulSoup


url = 'https://movie.naver.com/movie/bi/mi/basic.nhn?code=171539'


headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get(url,headers=headers)


soup = BeautifulSoup(data.text, 'html.parser')


print(soup)


수정 후 코드

import sys
import io


sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding='utf-8')
sys.stderr = io.TextIOWrapper(sys.stderr.detach(), encoding='utf-8')


import requests
from bs4 import BeautifulSoup


url = 'https://movie.naver.com/movie/bi/mi/basic.nhn?code=171539'


headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get(url,headers=headers)


soup = BeautifulSoup(data.text, 'html.parser')


print(soup)


취소
 공유
취소
댓글 0
댓글 알림
나의얼굴