묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
links 클래스 a.search-product-link가 36개가 아닙니다..
안녕하세요 선생님 선생님의 강의를 따라하고 있었는데, 강의 초반부분에 상품 링크를 받아오는 부분에서 links = soup.select("a.search-product-link")라는 부분이 있습니다. 선생님 강의에서는 첫 페이지 36개를 잘 선택하는 것을 볼 수 있는데요, 쿠팡 사이트에서 변화가 있었는듯 합니다. 쿠팡에서 1~36등까지의 순위 아이템 외에 베스트 셀러 상품들을 한 페이지 내에 추가했는데, 이 상품들도 클래스가 a.search-product-link로 똑같아서 얘네를 따로 어떻게 걸러내야할지 모르겠습니다.위 사진이 1~36등 상품이고, 아래 사진이 베스트셀러라는 항목에 포함된 상품입니다.. 보시다시피 클래스가 똑같아서 어떻게 구별할 수 있을지 모르겠습니다.
-
미해결일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
네이버 쇼핑 정보 크롤링 중 '요소를 찾을 수 없는 오류'
안녕하세요 강사님! 올려주신 강의 잘 수강하고 있습니다. 강사님께서는 네이버 쇼핑 사이트에서, 안나플러스 4GF 남자 스킨 제품 리뷰를 크롤링하셨는데저는 네이버 쇼핑 사이트에서, 설화수 윤조 에센스 6세대 90ml 제품 리뷰 크롤링을 하며 강의 내용을 복습하려고 했습니다. 따라서 이렇게 코드를 변경해보았는데요. (이 외에 강사님 코드 중 변경한 부분은 없습니다.)############################################################################################################ name = ['설화수 윤조 에센스 6세대 90ml'] ns_address = "https://search.shopping.naver.com/catalog/41452071623?&NaPm=ct%3Dlom567qo%7Cci%3D0626056d8aed283141db9c13254eb1ca5283307e%7Ctr%3Dslcc%7Csn%3D95694%7Chk%3D20ea68fdd5b7cd13a1caaf25826165e0d0bdd99f" shoppingmall_review = "/html/body/div/div/div[2]/div[2]/div[2]/div[3]/div[2]/div/div[2]/ul/li[5]/a" category_total = "/html/body/div/div/div[2]/div[2]/div[2]/div[3]/div[7]/div[2]/div[2]/ul/li[1]/a" ############################################################################################################ 이런 오류가 발생했습니다.--------------------------------------------------------------------------- NoSuchElementException Traceback (most recent call last) <ipython-input-9-b59caa4ea12b> in <cell line: 2>() 1 # 2023.05.08 변경 find_element_by_xpath TO find_element ----> 2 driver.find_element(By.XPATH, category_total).click() #스크롤 건드리면 안됨 3 cnt=1 4 page=1 2 frames /usr/local/lib/python3.10/dist-packages/selenium/webdriver/remote/errorhandler.py in check_response(self, response) 243 alert_text = value["alert"].get("text") 244 raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here --> 245 raise exception_class(message, screen, stacktrace) NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div/div/div[2]/div[2]/div[2]/div[3]/div[7]/div[2]/div[2]/ul/li[1]/a"} (Session info: headless chrome=90.0.4430.212); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception Stacktrace: #0 0x57930a7c37f9 <unknown> #1 0x57930a7633b3 <unknown> #2 0x57930a4ab016 <unknown> #3 0x57930a4df81e <unknown> #4 0x57930a5158fb <unknown> #5 0x57930a502ded <unknown> #6 0x57930a5139e1 <unknown> #7 0x57930a502c93 <unknown> #8 0x57930a4d4ce4 <unknown> #9 0x57930a4d64d2 <unknown> #10 0x57930a78f542 <unknown> #11 0x57930a79ece7 <unknown> #12 0x57930a79e9e4 <unknown> #13 0x57930a7a313a <unknown> #14 0x57930a79f5b9 <unknown> #15 0x57930a784e00 <unknown> #16 0x57930a7b65d2 <unknown> #17 0x57930a7b6778 <unknown> #18 0x57930a7cea1f <unknown> #19 0x7cccaee40ac3 <unknown> #20 0x7cccaeed2a40 <unknown>캡쳐본 첨부합니다.뭐가 문제고, 어떻게 해결하면 좋을까요?답변 기다리겠습니다. 감사합니다!
-
해결됨일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
5강에서 Error가 뜹니다.
5강에서 최신 코드를 복사-붙여넣었음에도 불구하고 Error문구가 뜹니다. (driver가 defined되지 않았다고 합니다.)수정 필요 지점 확인 부탁드릴 수 있을까요? 테스트경로 :https://colab.research.google.com/drive/1Jhx3zJjTJ5Yu33a1DuSbRMLL98jJcSz3?usp=sharing
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
셀레니움 업데이트 관련 질문
안녕하세요. 셀레니움 버전 업데이트 부분 강의 듣고 있습니다.버전 업데이트를 했는데도 셀레니움이 4.15 버전에서 업데이트가 되지 않네요 from selenium import webdriver import time driver = webdriver.Chrome() driver.get("https://google.com") time.sleep(2) 위와 같이 작성하고 실행 했을 때 웹 브라우저가 뜨고 닫히기는 합니다...! 그럼 문제가 없는 건가요? cache 폴더에 봐도 셀레니움 폴더에 웹드라이버 폴더가 따로 없어서요.
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
파이썬 입문, 섹션1 두번째 강의 첨부자료 어딨나요?
안녕하세요 강사님섹션 1두번째 강의 첨부자료 어딨나요?찾는데 힘이 듭니다. 1시간 넘게 찾아도 나오지 않습니다.짧게 수강했지만 강의내용은 좋은 것 같습니다.하지만 1시간 넘게 자료를 찾다보니 많이 답답했습니다.
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 기본편
네이버쇼핑 크롤링 시 이미지도 가지고 오고 싶어요.
네이버쇼핑 크롤링 할 때 상품이미지도 크롤링 하고 싶습니다.for item in items : 안에 아래 소스를 추가 하였는데 동일한 이미지 URL만 찍힙니다.상품명 등과는 다르게 작동하는 것인지 도움 부탁 드립니다. image_element = browser.find_element(By.CSS_SELECTOR, 'div.product_item__MDtDF img')\ image_url = image_element.get_attribute('src')
-
해결됨[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
request와 selenium 차이 질문
안녕하세요 선생님 기본편 수강 이후 실전편 강의 학습하고 있는 학생입니다!! 기본편 후반부에 selenium을 학습했던 터라 지금 '뉴스 본문 링크 가져오는 방법' 강의에서 선생님께서 직접 먼저 만들어보라고 하신 프로그램을 저도 모르게 selenium을 이용해서 만들려고 했습니다. 그리고 강의를 쭉 이어보니 선생님께서는 requests 라이브러리를 사용하신 것을 확인했습니다. 전에 동적 페이지인지, 정적 페이지인지에 따라 selenium과 requests를 구분해서 사용하신다고 하셨던 것으로 기억하는데, 이번 강의 내용인 뉴스 본문 링크도 정적 페이지라 requests를 사용하셔서 프로그램을 만드신 건지 궁금합니다.
-
미해결Node.js로 웹 크롤링하기
크롤링 자바스크립트 exe파일
안녕하세요!! 크롤링 강의 너무 잘들었습니다!!이 강의를 듣고 더 무언가를 해보고 싶어, 질문드립니다!!강의 내용 중 unsplash사이트에서 이미지를 가져오는 내용이 있는데요.이 코드를 돌리는데 명령어가 아닌 js파일을 exe실행 파일로 만든 후 exe파일을 눌었을 경우 코드가 실행되기 위해서 npm의 pkg를 사용하여 만들었는데 실행이 안되서요..ㅠ강의자님은 js파일을 exe실행 파일로 만들으셔서 사용하실 때 어떤 방법을 이용하시나요?!
-
해결됨[2024 개정판] 이것이 진짜 크롤링이다 - 기본편
광고 상품 크롤링이 가능한가요?
안녕하세요 선생님! 제가 따라해보니까 네이버 쇼핑에 광고 상품들도 포함되어 있어서 광고 상품 8개 + 일반 상품 40개 정도 한 페이지에 포함되는 것 같은데 일반 상품은 코드에 써주신 듯이 product_title__Mmw2K 클래스를 가지고 있고, 광고 상품은 adProduct_title__amInq 클래스를 가지고 있습니다. 광고 상품도 포함해서 크롤링 할 수 있는 방법이 있을까요?
-
미해결일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
6강 WebDriverException
안녕하세요. 아래에 같은 질문을 하신 분이 있던데, 똑같이 소스 코드를 붙여도 작동이 안 돼서 문의 남깁니다. 작성한 코드 링크로 첨부해 드립니다.https://colab.research.google.com/drive/1JA-kiri-MhZHNSQ6jGDxE2Mv7JQHFzuP?hl=ko#scrollTo=9Zme4ZGxP1qR어떤 게 문제일까요 🥲🥲 미리 답변 감사합니다... 귀한 강의도 감사합니다...
-
해결됨[2024 개정판] 이것이 진짜 크롤링이다 - 기본편
브라우저가 꺼집니다..
선생님 유익한 강의 정말 잘 듣고 있습니다..!셀레니움 가이드 강의에서 브라우저 꺼짐 방지 코드도 알려주셨는데 똑같이 따라해도 코드가 전부 실행되고 로그인이 완료되면 브라우저가 자동으로 꺼지는데 왜 그럴까요..?from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By #크롬 드라이버 자동 업데이트 from webdriver_manager.chrome import ChromeDriverManager import time import pyautogui import pyperclip #브라우저 꺼짐 방지 chrome_options = Options() chrome_options.add_experimental_option("detach", True) #불필요한 에러 메시지 없애기 chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"]) service = Service(excutable_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("a06015") pyautogui.hotkey("ctrl", "v") time.sleep(2) # id.send_keys("a06015") #비밀번호 입력창 pw = driver.find_element(By.CSS_SELECTOR, "#pw") pw.click() pyperclip.copy("") pyautogui.hotkey("ctrl", "v") time.sleep(2) # pw.send_keys("") #로그인 버튼 login_btn = driver.find_element(By.CSS_SELECTOR, "#log\.login") login_btn.click()
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
아 맥에서 아이디 암호가 이상하게 입력되어요
pyautogui.hotkey('command', 'v') time.sleep(2)이거 제대로 했는데 써주신거와 같이아이디는 v가 입력이 되고 pw는 제대로 들어갑니다id = driver.find_element(By.CSS_SELECTOR, "#id") id.click() pyperclip.copy("****") pyautogui.hotkey('command', 'v') time.sleep(2) pw = driver.find_element(By.CSS_SELECTOR, "#pw") pw.click() pyperclip.copy("****") pyautogui.hotkey('command', 'v') time.sleep(2)뭐가 문제일가요?
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
셀레니움 실습 중에 뜨는 로그 질문
DevTools listening on ws://127.0.0.1:3303/devtools/browser/005418e0-65b8-48b9-8b7d-eb9e884ab79b[2552:20700:1021/035027.954:ERROR:device_event_log_impl.cc(225)] [03:50:27.955] USB: usb_service_win.cc:415 Could not read device interface GUIDs: 지정된 파일을 찾을 수 없습니다. (0x2) 안녕하세요. 셀레니움은 잘 작동을 하는데 이런 오류가 뜹니다. 어떻게 해결할 수 있는 건가요?
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
쿠팡 크롤링에서 쿠키로 해결하는 방법 질문
안녕하세요.쿠팡 크롤링에서 cookie로 실행 안되는(?) 문제 해결하는 영상 보고 있는데요.status code가 403이 나오는데 괜찮은 건가요? 아래에 작성한 코드도 같이 올렸습니다.쿠팡에서 header에 user-agent를 넣어주는 것만으로 해결이 되지 않는 이유가 이것만으로는 쿠팡이 브라우저로 접근했다고 인식하지 않아서 인건가요? import requests from bs4 import BeautifulSoup headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36" } base_url = "https://www.coupang.com/np/search?component=&q=" keyword = input("검색할 상품명을 입력해주세요: ") search_url = base_url + keyword cookie = {"a": "b"} req = requests.get( search_url, timeout=5, headers=headers, cookies=cookie ) print(req.status_code)
-
미해결파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
dtype={"itemcode": np.object}) 을 dtype={"itemcode": object}) 으로 변경해야 하나요?
예전에 잘 들었다가 최근에 다시 들으면서 실행하니,numpy dtype관련사항이 변경(업데이트)가 있었는지 numpy 1.20이후 변경되었다고 알람,오류메세지가 발생합니다. np.object 부분에서 np. 을 빼고 실행하면 되는데 이렇게 진행하면 될까요? 본 섹션 이외에도 np.object를 string으로 입력받기 위해 사용된 곳이 몇몇 보이는데 해당부분도 동일하게 object(찾아보니 python default type 같습니다만, 정확히 알지 못하겠습니다.) 로 변경해서 사용하면 크게 문제가 없을까요? 시간이 지났지만 자세하고 하나씩 설명해 주셔서 감사합니다.
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
클릭해서 세부내용이 변하고 그걸 가져오고 싶은데
구글이미지 가져오는걸 이용해서 프로그래밍해보는데아래 소스에서 menu_item 이 for문에서 한번씩 클릭될때 상세 페이지에서 다시 내용을 가져와야하는데너무 빨라 못가져오는거 같아서 time.sleep문을 넣으면 에러가 발생합니다. 이유가 뭘까요?for i, menu_item in enumerate(items,1): menu_item_text = menu_item.text.replace("\n","일") print("--------------------") print(f" {i}:{menu_item_text}") print("----------------------->") menu_item.click() choice_items = driver.find_elements(By.CSS_SELECTOR,"[onfocus]") for j , choice_item in enumerate(choice_items,1): if choice_item.text : #변수가 공백이 아닐때 print(f" {j}: {choice_item.text.replace('예약하기','')}")
-
미해결파이썬 셀레니움 고급편 (python selenium - 크롤링, 크롤러)
random_move 함수 내용에 대하여 질문 드립니다.
강의를 보면 ActionChain(driver).scroll( 이라는 함수를 사용하셨는데 스크롤을 위한 시작점을 선택해서 스크롤 시키는것 같습니다.) 하지만 저도 이 함수를 쓰려고 했지만 해당 함수가 ActionChain 에 안나오는걸로 보여서 나중에 보니 scroll_by_amount로 바뀐거로 보입니다. scroll 을 써야 좀더 사람같은?걸까요? 그리고 ActionChain에 TouchAction 이라는게 보이긴 하는데 터치를 시뮬레이션 할 수 있다면 더 좋을것 같은데 혹시 방법이 있을까요?
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
공공api 에러
선생님 강의에서는 공공api에서 파이썬2를 이용한 예제가 제공되었는데요. 제가 이 글을 쓰는 시점에는 파이썬 3로 되었더라구요. # Python3 샘플 코드 # import requests url = 'http://apis.data.go.kr/B552584/ArpltnInforInqireSvc/getMinuDustFrcstDspth' params ={'serviceKey' : '서비스키', 'returnType' : 'xml', 'numOfRows' : '100', 'pageNo' : '1', 'searchDate' : '2020-11-14', 'InformCode' : 'PM10' } response = requests.get(url, params=params) print(response.content)예제 코드를 보면 강의코드처럼 한줄로 쓸 필요없이 , 네이버 open api처럼 params로 묶어서 처리하면 되는것 같은데요. 문제는 예제코드 자리에 서비스키를 넣어도 데이터가 로드 되지 않습니다. 에러코드를 구글링해보니 서비스키 재발급 또는 한시간정도를 기다려보라고 해서 둘다 실행해봤지만 계속 에러가납니다 .. b'<OpenAPI_ServiceResponse>\n\t<cmmMsgHeader>\n\t\t<errMsg>SERVICE ERROR</errMsg>\n\t\t<returnAuthMsg>SERVICE_KEY_IS_NOT_REGISTERED_ERROR</returnAuthMsg>\n\t\t<returnReasonCode>30</returnReasonCode>\n\t</cmmMsgHeader>\n</OpenAPI_ServiceResponse>'예제코드에서 서비스키에 제 서비스키를 넣는거 말고 다른것을 수정해야하는 부분이 있나요?
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
m1 맥에서 크롬 웹드라이버는 어디서 받아야 하나요? 선생님 ㅠㅠ
셀레니움 기본 강의에서는 자동으로 업데이트 해서 하는 방법을 알려주셨는데 유튜브 크롤링 프로그램 만들때는 경로 지정해서 하셔서요제가 헷갈리고 있는건가요? ㅠㅠ하는방법 알려주세요
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
데이터 타입 변환에 관한 질문입니다.
타입 변환에 관한 질문이며 문자열을 정수로, 정수를 문자열로 변환하는 과정 중에 int(), str() 함수를 사용하여 데이터 타입 변환 후 변수에 할당하였을 때는 print(type())을 출력하면 변환된 타입이 출력되어 결과값이 확인되지만, 그렇지않고 print()함수 안에서 int(),str() 함수를 사용하여 변환시에는 위의 사진과 같이 type()함수로 확인 시 int(), str()함수를 썻음에도 불고하고, 출력값이 변환되지않고 나오게됩니다. type을 변환하기 위해서는 따로 변수를 만들어서 int(), str() 함수를 써서 변수에 할당해주어야하나요??