묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[2024 개정판] 이것이 진짜 크롤링이다 - 기본편
약간 변태(?)같지만 해당 코드를 깔끔하게 함수로 리팩토링해보았습니다
import openpyxl import requests from bs4 import BeautifulSoup # stock_data파일을 불러와서 B2, B3, B4에 현재가를 저장해보자. fpath = ( r"C:\Users\UserName\OneDrive\바탕 화면\웹 스크래핑 연습\new_project\02_파이썬엑셀다루기\stock_data.xlsx" ) wb = openpyxl.load_workbook(fpath) ws = wb.active # 현재 활성화된 엑셀시트를 선택한다 # ws = wb["주식크롤링"] def stock_crawl(codes): row_start = 2 for code in codes: url = f"https://finance.naver.com/item/sise.naver?code={codes[code]}" response = requests.get(url) html = response.text soup = BeautifulSoup(html, "html.parser") price = soup.select_one("#_nowVal").text # str -> int price = int(price.replace(",", "")) # 크롤링한 현재가를 엑셀에 저장(3번 반복) ws[f"B{row_start}"] = price row_start += 1 # 엑셀 저장하기 wb.save(fpath) stock_crawl({"엔씨소프트": "036570", "삼성전자": "005930", "네이버": "035420"})크롤링 재밌네요 ㅎㅎ
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
크롬 웹드라이버가 필요 없어진걸로 알고 있습니다. 어떻게 수정해야 하나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 유튜브 제목 크롤링을 하려는데웹드라이버문제로 아예 초반부터 막혔습니다ㅠㅠ초반 코드 도와주세요...
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 기본편
과제 답안을 보지않고 스스로 구글링해서 만든 웹 크롤링 프로그램(10페이지 단위) 코드입니다.
import requests from bs4 import BeautifulSoup import urllib # 입력받은 input을 url로 변환 def web_crawler(keyword_input, pages=1): # headers headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" } # input -> url 변환 keyword = urllib.parse.quote(keyword_input) print("파이썬 문자열을 url 코드로 변환:", keyword) base_url = "https://www.google.com/" # 10페이지까지 크롤링 for page in range(pages): start = page * 10 search_url = f"{base_url}/search?q={keyword}&hl=ko&gl=KR&ceid=KR%3Ako&start={start}" print("\n검색어와 조합한 url:", search_url) # soup을 이용한 웹 크롤링 작업(headers 매핑 중요!) response = requests.get(search_url, headers=headers) html = response.text # 응답 상태 확인 if response.status_code == 200: soup = BeautifulSoup(html, "html.parser") # h3 제목 추출 titles = soup.find_all("h3") for title in titles: print(title.get_text()) else: print("에러:", response.status_code) web_crawler("크롤링 잘하고 싶다", 1)아무래도 구글은 무한스크롤 형식이라 페이지 별로 크롤링하기가 까다롭네요
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
전처리전 강의인데 조회수와 날짜가 출력되지 않습니다.
from selenium import webdriverfrom selenium.webdriver.common.keys import Keysfrom bs4 import BeautifulSoupimport timeimport pyautoguiimport openpyxl# 검색어 입력keyword = pyautogui.prompt("검색어를 입력하세요")#엑셀 생성wb = openpyxl.Workbook()ws = wb.create_sheet(keyword)ws.append(['번호','제목','조회수', '날짜']) url = f"https://www.youtube.com/results?search_query={keyword}"browser = webdriver.Chrome("c:/chromedriver.exe" )browser.implicitly_wait(10)browser.maximize_window()browser.get(url)# 7번 스크롤하기scroll_count=7i=1while True: # 맨 아래로 스크롤을 내린다. browser.find_element_by_css_selector("body").send_keys(Keys.END) # 스크롤 사이에 페이지 로딩 시간 time.sleep(2) if i == scroll_count: break i +=1 # Selenium - Beautifulsoup 연동방법html = browser.page_sourcesoup = BeautifulSoup(html, 'html.parser')infos = soup.select("div.text-wrapper")for i, info in enumerate(infos, 1):# 원하는 정보 가져오기# 제목 title = info.select_one("a#video-title").text try: # 조회수 views = info.select_one("div#metadata-line>span:nth-child(1)").text # 날짜 date = info.select_one("div#metadata-line>span:nth-child(2)").text except: views = "조회수 0회" date = "날짜 없음" print(title, views, date) ws.append([i, title, views, date])wb.save(f'07_유투브_크롤링/{keyword}.xlsx')
-
미해결[R] KOSPI/KOSDAQ 전 종목 데이터 수집 및 관리
library(htmltab)는 실행시키면 실행이 안됩니다.
어제 R studio를 여기서 하는데로 최신버전으로 깔았고,여기서 하라는 데로 그대로 설치를 했습니다.그리고 여기 강의를 들으면서 따라하던 중..library(htmltab) 이것을 실행시키면 아래와 같은 문구가 뜨네요..library(htmltab)에서 다음과 같은 에러가 발생했습니다:‘htmltab’이라고 불리는 패키지가 없습니다.잠시install.packages("htmltab")을 실행하지 않아서 그런가 봤더니. 그것도 아니어서... 그래서 더 낮은 32bit버전으로 깔고 해봤는데요... 똑 같습니다.. 그래서 인터넷에 검색해보니..Package ‘htmltab’ was removed from the CRAN repository.이렇게 나오네요..여기 나와 있는 밑에 답변이 있길래 기쁜마음에 복사해서 붙여놓고 하나하나 실행시켜봤습니다.. setwd("D:\\stock")#library(htmltab)url<-"http://finance.naver.com/item/sise_day.nhn?code=005380&page=1" # 종목 Aurl<-"http://finance.naver.com/item/sise_day.nhn?code=005930&page=1" # 종목B#install.packages("httr")library(httr)referer <- add_headers(Referer = "http://finance.naver.com/item/sise_day.nhn?code=005380&page=11") #검색해서 들어간 것처럼 위장하기위해 header를 붙여준다tmp <- GET(url, referer) # GET함수를 통해 해당 서버에 통신을 함 뒤에 referer인자가 위장술ta<-read_html(tmp)%>% html_nodes(xpath = '/html/body/table[1]') %>% html_table()ta2<-(ta[[1]])ta2[-c(1,7,8,9,15),]code_data <- read.csv("data.csv",sep="\t")? read.csvhead(code_data)code <- as.character(code_data[,1])code_name <- as.character(code_data[,2])re_code <- as.character(sapply(code,function(x){ nc<- 6-nchar(x) paste0(c(rep(0,nc),x),collapse = "")}))k <- 1i <- 1for(k in 1:length(re_code)){ final_data<-NULL for(i in 1:10){ url <- paste0("https://finance.naver.com/item/sise_day.nhn?code=",re_code[k],"&page=",i) b <- htmltab(url,encoding="UTF-8") b final_data < -rbind(final_data,b) cat("\n",i) } head(final_data) tail(final_data) dim(final_data) ..........결과는 몇줄 가지도 못하고 바로add_headers(Referer = "https://finance.naver.com/item/main.naver?code=005380")에서 다음과 같은 에러가 발생했습니다: 함수 "add_headers"를 찾을 수 없습니다로 나옵니다.. 이 문제가 반드시 해결이 되야 밑에 코딩한게 전부 의미가 있을 것 같습니다.
-
미해결[R] KOSPI/KOSDAQ 전 종목 데이터 수집 및 관리
한국거래소에서 전종목 코드를 받는 기존 메뉴는 사라졌습니다.
한국거래소를 타고서 예전에는 받을 수 있었던 것 같은데,현재는http://data.krx.co.kr/contents/MDC/MDI/mdiLoader/index.cmd?menuId=MDC0201020303이 곳으로 들어가야 종목코드를 다운받을 수 있게 바뀌었네요.. 초보라 한참 찾았습니다. 그리고 강의하시는 제목 "stock R"이 사실은 다운로드 받은 자료의 "naver증권크롤링_예제.R"이네요
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 기본편
자동 로그인시 자동입력방지문자 페이지로 연결
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 다른 에러는 안뜨는거보니 코드는 잘 돌아가는거 같고, time.sleep()의 초를 늘려도 계속 자동입력 방지문자 페이지가 뜨면서 로그인이 안됩니다 ㅠ 뭐가 문제일까요.. 네이버 정책이 바뀐걸까요? from selenium import webdriverfrom selenium.webdriver.chrome.service import Servicefrom selenium.webdriver.chrome.options import Optionsfrom selenium.webdriver.common.by import By# 크롬 드라이버 자동 업데이트from webdriver_manager.chrome import ChromeDriverManagerimport timeimport pyautoguiimport pyperclip# 브라우저 꺼짐 방지chrome_options = Options()chrome_options.add_experimental_option("detach", True)# 불필요한 에러메세지 없애기chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"])service = Service(executable_path=ChromeDriverManager().install())driver = webdriver.Chrome(service=service, options=chrome_options)# 웹페이지 해당 주소 이름driver.implicitly_wait(5) # 웹페이지가 로딩될 때까지 5초 기다림driver.maximize_window() # 화면 최대화driver.get("https://nid.naver.com/nidlogin.login?mode=form&url=https://www.naver.com/")# 아이디 입력창id = driver.find_element(By.CSS_SELECTOR, "#id")id.click()pyperclip.copy(" ")pyautogui.hotkey("ctrl", "v")time.sleep(5)# 비밀번호 입력창pw = driver.find_element(By.CSS_SELECTOR, "#pw")pw.click()pyperclip.copy(" ")pyautogui.hotkey("ctrl", "v")time.sleep(5)# 로그인 버튼login_btn = driver.find_element(By.CSS_SELECTOR, "#log\.login")login_btn.click()
-
미해결네이버 카페 DB 추출 프로그램 개발 강의 [selenium]
질문있습니다.
query = "강아지옷" userDisplay = 15 option=0 searchBy = 1 # searchdate = "all" # all or 1w encoding_query = parse.quote(query,encoding="MS949") link = f"https://cafe.naver.com/joonggonara?iframe_url=/ArticleSearchList.nhn%3Fsearch.clubid=10050146%26search.media=0%26search.searchdate={searchdate}%26search.defaultValue=1%26search.exact=%26search.include=%26userDisplay={userDisplay}%26search.exclude=%26search.option={option}%26search.sortBy=date%26search.searchBy={searchBy}%26search.searchBlockYn=0%26search.includeAll=%26search.query={encoding_query}%26search.viewtype=title%26search.page={page_idx}"이번 강의는 순서도 바뀐 것 같고 건너띄기 된 느낌입니다..이 부분 내용이 생략이 된 것 같아서요. 저기 link 주소랑 관련된 저 부분들 분석 하는 방법 궁금합니다. 그리고 FLAG 쓰셨는데.. 이해가 잘 안되서요.. 그걸 이용하는 방법을 알려주신 건지.. 저기에 꼭 써야하는건지 잘 이해가 안가네요.if에 break 걸어 놓으셨으니 FLAG를 안 써도 될 것 같아서 여쭤봅니다. ( keyword.py, menu.py 둘 다요)
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
Api이용중에오류가발생했네요
X-Naver-Client-Id하고 X-Naver-Client-Secret은 틀린점은없는거같은데 왜오류가 날까요 비밀번호는 재발급예정입니다
-
미해결네이버 카페 DB 추출 프로그램 개발 강의 [selenium]
flask 서버에 접속이 안되는데 한 번 봐주세요.
이렇게 나오면서 flask 서버에 접속이 안되네요..어떤 부분을 만져봐야 할까요 ?
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 기본편
업데이트된 코드 오류 ? 제품 리스트 가져오기 실패
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 실전 강의를 결제했습니다 실전 강의 전에 기본 강의 부터 듣고 있었는데, 네이버 상품 무안 스크롤 편을 보다가 업데이트된 코드를 그대로 작성했습니다 페이지에 있는 제품 리스트를 모두 가져와야 하는데, 제품 리스트 딱 하나만 가져옵니다 어떻게 해야 할까요
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
Coupang a.["href"] 정보 관련 문의
안녕하세요, 쿠팡 크롤링 영상을 보다가 궁금한 점이 있어서 문의드립니다.실습을 위하여 아래와 같이 코드를 입력하였습니다.import requests from bs4 import BeautifulSoup base_url = "https://www.coupang.com/np/search?component=&q=" keyword = input("검색할 상품을 입력하세요 : ") search_url = base_url + keyword headers = { "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" } cookie = {"a" : "b"} res = requests.get(search_url, timeout=5 ,headers=headers, cookies=cookie) html = res.text soup = BeautifulSoup(html, "html.parser") items = soup.select("[class=search-product]") print(items[0]) rank = 1 for item in items: badge_rocket = item.select_one(".badge.rocket") if not badge_rocket: continue name = item.select_one(".name") price = item.select_one(".price-value") thumb = item.select_one(".search-product-wrap-img") link = item.select_one("a")["href"] # link = item.a["href"] print(f"{rank}") print(name.text) print(f"{price}원") print(thumb) print(link) print() rank += 1 그랬더니 아래와 같은 에러가 뜨더라구요.Traceback (most recent call last): File "c:\Users\LG\OneDrive\03. Resources\Python\08_1_coupang.py", line 40, in <module> link = item.a["href"] ~~~~~~^^^^^^^^ File "C:\Users\LG\AppData\Local\Programs\Python\Python312\Lib\site-packages\bs4\element.py", line 1573, in getitem return self.attrs[key] ~~~~~~~~~~^^^^^KeyError: 'href' 그래서 이 검색을 하던 도중에 items 리스트의 첫 번째 데이터를 확인하였습니다.그랬더니, items[0] 내에 'href' 속성이 존재하지 않더라구요.분명 elements에서 검색했을 때는 아래 캡쳐처럼 존재를 하였습니다..왜 이런지 궁금합니다.. <li class="search-product" data-coupon-nudge-text="" data-coupon-tag-area="true" data-freebie-vendor-item-id="null" data-handyman-area="" data-is-rocket="true" data-is-soldout="" data-product-id="7410323525" data-vendor-item-id="86316217055" data-winner-vendor-item-id="86316217055" id="7410323525" > <a class="search-product-link" data-is-soldout="" data-item-id="19198810280" data-product-id="7410323525" data-product-link="/vp/products/7410323525?itemId=19198810280&vendorItemId=86316217055" data-srp-log='{"group":"PRODUCT", "itemId":"19198810280", "productId":"7410323525", "vendorItemId":"86316217055", "page":"1", "listSize":"36", "isCcidEligible":false, "displayCcidBadge":false, "wowOnlyInstantDiscountRate": 9, "snsDiscountRate" : -1, "isLoyaltyMember": false, "hasAsHandymanBadge":false }' data-vendor-item-id="86316217055" target="_blank" ><dl class="search-product-wrap adjust-spacing coupon"> <dt class="image"> <img alt="주연테크 FHD LED 100Hz 모니터, 54.6cm, V22FX(일반)" class="search-product-wrap-img" data-src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" height="230" onerror="this.src='//img2a.coupangcdn.com/image/coupang/common/no_img_1000_1000.png'" onload="logTime(this);logImageLoadTime(this);" src="//thumbnail7.coupangcdn.com/thumbnails/remote/230x230ex/image/retail/images/671217612372165-b6d07ba8-e3fa-4a08-8fba-cb4adbedd0d0.jpg" width="230" /> </dt> <dd class="descriptions"> <div class="descriptions-inner"> <div class="badges"></div> <div class="name"> 주연테크 FHD LED 100Hz 모니터, 54.6cm, V22FX(일반) </div> <div class="price-area"> <div class="price-wrap"> <div class="price"> <span class="price-info"> <span class="instant-discount-rate">2%</span> <del class="base-price"> 91,610 </del> </span> <em class="sale discount isInstantDiscount"> <strong class="price-value">89,000</strong>원 <span class="badge rocket"> <img alt="로켓배송" height="16" src="//image6.coupangcdn.com/image/cmg/icon/ios/logo_rocket_large@3x.png" /> </span> </em> </div> <div class="coupon-wot-nudge-row"> <div class="coupon-wot-nudge-ticket"> <div class="coupon-wot-nudge-ticket_left_border"> <span class="coupon-wot-nudge-ticket_left_border_amount" >8,900</span >원 </div> <div class="coupon-wot-nudge-ticket_right_border"></div> </div> <div class="coupon-wot-nudge-text">와우회원 추가 쿠폰</div> </div> <!-- Free Shipping Badge --> <div class="delivery"> <span class="arrival-info"> <em style="color: #008c00">내일(화) </em> <em style="color: #008c00">도착 보장 </em> </span> </div> </div> <div class="used-product-info"> <span>새 상품</span><span>, </span><span>반품</span ><strong> (9)</strong> <span>최저</span><strong>73,870</strong ><span>원</span> </div> </div> <div class="other-info"> <div class="rating-star"> <span class="star" ><em class="rating" style="width: 90%">4.5</em></span > <span class="rating-total-count">(1188)</span> </div> </div> <div class="benefit-badges"> <div class="reward-cash-badge"> <div class="reward-cash-badge__inr"> <img alt="" class="reward-cash-ico" src="//image6.coupangcdn.com/image/badges/cashback/web/list-cash-icon@2x.png" /> <span class="reward-cash-txt">최대 3,694원 적립</span> </div> </div> </div> </div> </dd> </dl> <span class="number no-1">1 </span> <div class="mask"></div ></a> </li> PS C:\Users\LG\OneDrive\03. Resources\Python>
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
네이버 로고가 없어졌습니다. ^^
선생님 네이버 로고가 없어졌어요... 다른것을 불러오니, 되네요 ^^
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
수업 노트
안녕하세요?라고 했는데 수업 노트는 어디에 있나요?아무리 찾아도 없습니다.
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
학습 자료
안녕하세요.수업에 사용하신 코드는 어디서 받을 수 있을까요?
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 기본편
셀레니움 설정 강의에서 에러가 납니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.from selenium import webdriverfrom selenium.webdriver.chrome.service import Servicefrom selenium.webdriver.chrome.options import Options# 크롬 드라이버 자동 업데이트from webdriver_manager.chrome import ChromeDriverManager# 브라우저 꺼짐 방지chrome_options = Options()chrome_options.add_experimental_option("detach", True)# 불필요한 에러 메시지 없애기chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"])service = Service(executable_path=ChromeDriverManager().install())driver = webdriver.Chrome(service=service, options=chrome_options)# 웹페이지 해당 주소 이동driver.get("https://www.naver.com")\\여기까지 코드입니다. (그대로 따라썼는데 안되어서 강사님 다른 답변에서 직접 올려주신 코드 복사 붙여넣기 했습니다..!)selenium과 webdriver 모두 pip install 이용해서 설치했구요, selenium은 4.16.0, webdriver-manager는 4.0.1입니다. 에러 메시지는 아래와 같습니다.보기 힘드실까 하여 아래에 AttributeError부분을 써놓겠습니다. determined_browser_version = ".".join(determined_browser_version.split(".")[:3])AttributeError: 'NoneType' object has no attribute 'split'
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
requests 라이브러리를 활용한 쿠팡 로그인 가능 여부
안녕하세요.쿠팡에서 제가 주문한 주문내역을 크롤링하고 싶은데, 우선 로그인이 필요하겠더라구요.로그인 화면 URL은 https://login.coupang.com/login/login.pang 이고,주문 내역 URL은 https://mc.coupang.com/ssr/desktop/order/list 인데,제가 아는 모든 방법을 동원해도 session.post 요청을 날리면 무한로딩에 빠져버리네요..강사님께서는 requests 라이브러리를 이용한 쿠팡 로그인이 가능한 지 여쭤봅니다.제가 작성한 코드를 아래 남깁니다.import requests login_url = "https://login.coupang.com/login/login.pang" user = 'EMAIL' password = 'PASSWORD' login_data = dict() login_data['email'] = user login_data['password'] = password header = { 'Host': 'www.coupang.com', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8', 'Accept-Language': 'ko-KR,ko;q=0.8,en-US;q=0.5,en;q=0.3', } with requests.Session() as session: res = session.post(login_url, data = login_data, headers=header) url_order = 'https://mc.coupang.com/ssr/desktop/order/list' res = session.get(url_order) print(res.content)
-
해결됨파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
문제 파일을 열려로 하는데 다음과 같은 에러 메시지가 뜹니다.
연습문제를 푸려고 하는데 다음과 같이 뜨면서 되지 않습니다.이유가 뭘까요?
-
미해결디스이즈 디스커버 디스코드 파이썬봇
다른 강의들은 전부 다 무제한이던데 이 강의도 기간 무제한이었으면 좋겠습니다.
6개월 지나고 이전에 배운 거 혹시나 기억 안 나면 강의 다시 볼 수도 있는데 이 점을 생각하면 기간 제한이 없는 편이 좋을 것 같습니다.
-
미해결실시간 트렌드 홈페이지 개발(파이썬 크롤링 + Flask)
[셀레니움 사용해보기]웹 드라이버 경로관련
크롬드라이버 버전(120.0.6099.130(공식 빌드) (64비트)에 맞게 웹드라이버를 다운로드(https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/120.0.6099.109/win64/chromedriver-win64.zip) 해서, app.py 경로에 가져왔고요. 강의 내용과 동일하게 코드를 입력했으나 경로를 찾지 못하는 듯 합니다. 셀레니움이 20년에 비해 많이 지나서 최신 버전이라 강의내용대로 하면 구현이 안되는 걸까요?