
코드스니펫에서 붙여넣은 코드에서 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)
