인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

손과발님의 프로필 이미지
손과발

작성한 질문수

[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

크롤링시 한글 부분이 이상한 문자로 나옵니다.

해결된 질문

작성

·

54

·

수정됨

0

r

답변 1

0

스타트코딩님의 프로필 이미지
스타트코딩
지식공유자

안녕하세요!
한글이 깨지는 것은 인코딩 문제인데요

서버에서 돌려준 응답을

utf-8이나 euc-kr 등으로 다시 인코딩하는 형태로 개발해보시면 좋을 거 같습니다.

 

그리고 전체 코드를 첨부해주시면 저도 테스트 해볼게요 ^^

스타트코딩님의 프로필 이미지
스타트코딩
지식공유자

import requests
from bs4 import BeautifulSoup
import pandas as pd

data = []

url = "https://jungjinmall.co.kr/shop/index.php?category=C1625644964"
url1 ="https://www.seahtool.com/goods/goods_list.php?cateCd=020001"

response = requests.get(f"{url}")
html = response.text
soup = BeautifulSoup(html, 'html.parser')

items = soup.select(".output-skin01.p1")

for i in items:
    link = i.select_one('.pv1 > a').attrs['href']
    response = requests.get(f"https://jungjinmall.co.kr{link}")
    response.encoding = 'utf-8'
    html = response.text
    soup = BeautifulSoup(html, 'html.parser')

    name = soup.select_one('.f5.pv3').text.strip()
    price = soup.select_one('.strong.money').text
    image = soup.select_one('.margintb5.border-1-s-ccc').attrs['src']
    image1 =f"https://jungjinmall.co.kr{image}"
    print(name ,price, image1)

이런식으로 response.encoding을 utf-8 로 맞춰 주면 정상적으로 한글이 깨지지 않고 표시가 됩니다 :)

손과발님의 프로필 이미지
손과발
질문자

아이구야 되네요 !!!! 뭐라 감사의 말씀을 드려야 될지 넘 감사합니다. 카페도 가입했고 동영상 강의도 제가 이해하는데 넘 꼭 맞는 것같아 차례로 듣고 있어요 다시 한 번 감사의 말씀을 드립니다.

스타트코딩님의 프로필 이미지
스타트코딩
지식공유자

도움이 되셨다니 다행이네요 ㅎㅎ

 

카페에 가입하셨다니

질문게시판이나 코딩인증게시판 등을 활용해서

추가적인 도움이나 동기부여를 얻어 보시고

 

간단한 프로그램이라도 만드시면

좋은 소식 자랑게시판에 편하게 올려보세요~~!

인정받는 느낌을 통해 배움을 지속하는데 큰 도움이 될겁니다 ㅎㅎ

손과발님의 프로필 이미지
손과발

작성한 질문수

질문하기