묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결12시간 안에 끝내는 파이썬을 활용한 크롤링
수업중 따라하기 오류 ㅠㅠ
수업중 seleium 에 관하여 배웠습니다.하지만 처음부터 뭔가 오류가 나서 잘되지 않네요selenium은 설치가 잘 된건가요?ModuleNotFoundErrorNameError은 왜그런거죠?ㅠㅠ답변 부탁드립니다. ㅠㅠ
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
네이버쇼핑 질문 있습니다!
네이버쇼핑크롤링을 연습도중 상품썸네일 링크를 가져와보고싶어서 연습을해봤는데 아래링크처럼했을때 첫번째 상품의 이미지링크만 가져오게되고 나머지 이미지썸네일 링크는 여러가지 다른선택자를 이용해서 시도를 해봤지만 이와같이 한개의 이미지썸네일 링크만 가져와져서 이럴때 어떻게 해야될지 궁금합니다!from selenium import webdriver import time from bs4 import BeautifulSoup import re from urllib.parse import urlparse, urlunparse driver = webdriver.Chrome() driver.get('https://search.shopping.naver.com/search/all?adQuery=%EB%8B%AD%ED%84%B8%EB%BD%91%EB%8A%94%EA%B8%B0%EA%B3%84&origQuery=%EB%8B%AD%ED%84%B8%EB%BD%91%EB%8A%94%EA%B8%B0%EA%B3%84&pagingIndex=1&pagingSize=40&productSet=overseas&query=%EB%8B%AD%ED%84%B8%EB%BD%91%EB%8A%94%EA%B8%B0%EA%B3%84&sort=review&sps=N×tamp=&viewType=list') last_height = driver.execute_script("return document.body.scrollheight") while True: #스크롤끝까지 내리기 driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") time.sleep(2) new_height = driver.execute_script("return document.body.scrollHeight") if new_height == last_height: break last_height = new_height html = driver.page_source soup = BeautifulSoup(html, 'html.parser') items = soup.select(".product_item__MDtDF") for item in items: # 이미지 URL 찾기 img = item.select_one(".product_img_area__cUrko img") print(img)
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 기본편
html주소를 다른 컴터에서도 접속하기
html기초 강의에서 만들어진 웹페이지를 제 컴터에서 크롬키고 주소 복붙하면 들어가지는데핸드폰(아이폰) 크롬앱으로 주소 복붙하면 안들어가지네요다른 컴터에서도 url만으로 들어가지는 웹을 만들고싶은데..음 웹 강의를 따로 들어야할까요?아니면 여기서 간단히 무엇만 추가하면 될까요
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
네이버 메일 자동화편 드롭다운 메뉴클릭 부분
수업 듣다가 드롭다운 메뉴 클릭 부분에서 NoSuchElementException 오류가 뜨면서 메일 드롭다운 클릭이 안됩니다.왜이런 걸까요??#셀레니움 기본 템플릿 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys import time import pyperclip from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC #크롬 드라이버 생성 driver = webdriver.Chrome() #페이지 이동 driver.get("https://nid.naver.com/nidlogin.login?mode=form&url=https://www.naver.com/") time.sleep(0.5) # 아이디 입력 id = driver.find_element(By.CSS_SELECTOR, "#id") pyperclip.copy(user_id) id.send_keys(Keys.CONTROL, 'v') time.sleep(0.5) # 패스워드 입력 pw = driver.find_element(By.CSS_SELECTOR, "#pw") pyperclip.copy(user_pw) pw.send_keys(Keys.CONTROL, 'v') time.sleep(0.5) # 로그인 버튼 클릭 driver.find_element(By.CSS_SELECTOR, "#log\\.login").click() driver.get("https://www.naver.com/") time.sleep(1) #드롭다운 메뉴 클릭 driver.find_element(By.CSS_SELECTOR, "#account > div.MyView-module__my_menu___eF24q.MyView-module__is_open____qWM1 > div > div > ul > li:nth-child(1) > a > span.MyView-module__item_text___VTQQM").click()오류내용--------------------------------------------------------------------------- NoSuchElementException Traceback (most recent call last) Cell In[34], line 35 33 time.sleep(1) 34 #드롭다운 메뉴 클릭 ---> 35 driver.find_element(By.CSS_SELECTOR, "#account > div.MyView-module__my_menu___eF24q.MyView-module__is_open____qWM1 > div > div > ul > li:nth-child(1) > a > span.MyView-module__item_text___VTQQM").click() File c:\Users\LEGION\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:741, in WebDriver.find_element(self, by, value) 738 by = By.CSS_SELECTOR 739 value = f'[name="{value}"]' --> 741 return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"] File c:\Users\LEGION\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py:347, in WebDriver.execute(self, driver_command, params) 345 response = self.command_executor.execute(driver_command, params) 346 if response: --> 347 self.error_handler.check_response(response) 348 response["value"] = self._unwrap_value(response.get("value", None)) 349 return response File c:\Users\LEGION\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\errorhandler.py:229, in ErrorHandler.check_response(self, response) 227 alert_text = value["alert"].get("text") 228 raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here --> 229 raise exception_class(message, screen, stacktrace) NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"#account > div.MyView-module__my_menu___eF24q.MyView-module__is_open____qWM1 > div > div > ul > li:nth-child(1) > a > span.MyView-module__item_text___VTQQM"} ... (No symbol) [0x00007FF723ECECA2] (No symbol) [0x00007FF723EBE16F] BaseThreadInitThunk [0x00007FFB1DF87344+20] RtlUserThreadStart [0x00007FFB1EA3CC91+33] Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings...
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
네이버 로그인
안녕하세요 네이버 로그인 자동화 프로그램 제작하기편 보고 있는데 똑같이 입력했는데도 자동입력방지가 뜹니다. 왜이런지 알 수 있을까요??#셀레니움 기본 템플릿 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys import time import pyperclip #크롬 드라이버 생성 driver = webdriver.Chrome() #페이지 이동 driver.get("https://nid.naver.com/nidlogin.login?mode=form&url=https://www.naver.com/") time.sleep(1) # 아이디 입력 id = driver.find_element(By.CSS_SELECTOR, "#id") pyperclip.copy(user_id) id.send_keys(Keys.CONTROL, 'v') time.sleep(1) # 패스워드 입력 pw = driver.find_element(By.CSS_SELECTOR, "#pw") pyperclip.copy(user_pw) pw.send_keys(Keys.CONTROL, 'v') time.sleep(1) # 로그인 버튼 클릭 driver.find_element(By.CSS_SELECTOR, "#log\\.login").click()
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
윈도우11
안녕하세요~ 크롤링 관심있어서 강의 수강중인데 현재 제 노트북이 win10인데 드라이버등등 이유로 win11로 가려고 해요.그럴경우 이 강의내용이 맞지 않을 수도 있을까요?
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
자동로그인 구현방법 문의
안녕하세요.네이버 자동로그인 강의를 보고 실습한 뒤다른사이트(영풍문고) 자동로그인을 구현해보던 중 아이디 입력창의 선택자 확인방법이 네이버와 다른건지 잘 확인이 안되는데 혹시 어떻게 확인하면 될까요? <input name="id" type="text" tabindex="5" maxlength="16" class="textbox focus" style="ime-mode:disabled;" placeholder="아이디" title="아이디" onkeypress="enterSearch();" onfocus="pfocus(this);" onblur="pblur(this);" value="" data-gtm-form-interact-field-id="0">
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
이렇게 해도 될까요 ?
purchase = int(purchase.replace("만","000").replace(".","")) 이런식으로 작성해도 될까요 ?
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
질문있습니다.
#클래스명은 주기적으로 바뀔듯 따라서 정규표현식으로 필터링 #광고상품 제거 일반 상품만 products = soup.find_all('div',class_=re.compile('^product_item__')) print(f"Number of products found: {len(products)}") 이런식으로 뒤에 uuid값이 바뀌는 상황을 고려하여 광고 상품 클래스명인 adProduct를 제외하고 일반 상품만 가져오고 싶은데 길이가 자꾸만 13개로 나오는데.. 다른 코드를 작성해야 할까요 ?
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
웨일도 가능한가요?
자동화를 하려고 하는데 웨일도 가능한가요?자꾸만 크롬이 켜져서 ,,
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
range를 꼭 써야하나요 ?
for i in (1,2): 2페이지까지 도는 문법이 이렇게만 작성해도 되던데 range를 꼭 적어줘야하나요 ?
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
엥
갑자기 앞뒤 설명없이 코딩이 시작되는데 뭘 설치하는지 어떻게 다음 라인으로 넘어가는지 전혀 나와있지 않은데요..;;
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
Exercise 40번) 질문 reverse() 함수 질문
Exercise 40번 질문(영상시간 15:13)안녕하세요! 반복문 안에서 바로 reverse()함수 사용하여 역방향으로 만들어 실행해보려고 했는데 오류가 나네요..!아래와 같은 코드로 실행했는데 왜 오류가 날까요~?for i in data.reverse(): print(i)
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
[Jupyter Note] shift+enter 오류
Jupyter note에서 갑자기 마크다운 입력한 셀이 shift+enter가 안 먹는데 어떻게 해결할 수 있나요?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
ftp 로긴 문제입니다. ㅜ
강의 내용 외 개인적인 실습 사이트의 질문은 답변이 제공되지 않습니다.문제가 생긴 코드, 에러 메세지 등을 꼭 같이 올려주셔야 빠른 답변이 가능합니다.코드를 이미지로 올려주시면 실행이 불가능하기 때문에 답변이 어렵습니다.답변은 바로 제공되지 않을 수 있습니다.실력 향상을 위해서는 직접 고민하고 검색해가며 해결하는 게 가장 좋습니다.쿠팡 아이템 리스트를 html로 작성해서 호스팅 주소에 올리는 과정입니다. 파이썬 파일 돌리면 로그인 과정에서 실패합니다. 주소 id pw는 제대로 입력한 것 확인 했는데 무엇이 문제인지 알려주세요...
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
NoSuchElementException 에러 해결은 되었는데, 정확한 원인은 ㅠㅠ
#드롭다운 메뉴 클릭 driver.find_element(By.CSS_SELECTOR,"#account > div.MyView-module__my_menu___eF24q.MyView-module__is_open____qWM1 > div > div > ul > li:nth-child(1) > a > span.MyView-module__item_text___VTQQM").click() CSS selector 제대로 한것 같은데 실행하면 하기와 같이 에러 발생합니다. 도움 부탁드립니다.---------------------------------------------------------------------------NoSuchElementException Traceback (most recent call last)Cell In[5], line 1----> 1 driver.find_element(By.CSS_SELECTOR,\"#account > div.MyView-module__my_menu___eF24q.MyView-module__is_open____qWM1 > div > div > ul > li:nth-child(1) > a > span.MyView-module__item_text___VTQQM\").click()File c:\\Users\\visio\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\selenium\\webdriver\\remote\\webdriver.py:741, in WebDriver.find_element(self, by, value)738 by = By.CSS_SELECTOR739 value = f'[name=\"{value}\"]'--> 741 return self.execute(Command.FIND_ELEMENT, {\"using\": by, \"value\": value})[\"value\"]File c:\\Users\\visio\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\selenium\\webdriver\\remote\\webdriver.py:347, in WebDriver.execute(self, driver_command, params)345 response = self.command_executor.execute(driver_command, params)346 if response:--> 347 self.error_handler.check_response(response)348 response[\"value\"] = self._unwrap_value(response.get(\"value\", None))349 return responseFile c:\\Users\\visio\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\selenium\\webdriver\\remote\\errorhandler.py:229, in ErrorHandler.check_response(self, response)227 alert_text = value[\"alert\"].get(\"text\")228 raise exception_class(message, screen, stacktrace, alert_text) # type: ignore[call-arg] # mypy is not smart enough here--> 229 raise exception_class(message, screen, stacktrace)NoSuchElementException: Message: no such element: Unable to locate element: {\"method\":\"css selector\",\"selector\":\"#account > div.MyView-module__my_menu___eF24q.MyView-module__is_open____qWM1 > div > div > ul > li:nth-child(1) > a > span.MyView-module__item_text___VTQQM\"}(Session info: chrome=125.0.6422.176); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exceptionStacktrace:\tGetHandleVerifier [0x00007FF7C22C1F52+60322]\t(No symbol) [0x00007FF7C223CEC9]\t(No symbol) [0x00007FF7C20F7EBA]\t(No symbol) [0x00007FF7C2147676]\t(No symbol) [0x00007FF7C214773C]\t(No symbol) [0x00007FF7C218E967]\t(No symbol) [0x00007FF7C216C25F]\t(No symbol) [0x00007FF7C218BC80]\t(No symbol) [0x00007FF7C216BFC3]\t(No symbol) [0x00007FF7C2139617]\t(No symbol) [0x00007FF7C213A211]\tGetHandleVerifier [0x00007FF7C25D94AD+3301629]\tGetHandleVerifier [0x00007FF7C26236D3+3605283]\tGetHandleVerifier [0x00007FF7C2619450+3563680]\tGetHandleVerifier [0x00007FF7C2374326+790390]\t(No symbol) [0x00007FF7C224750F]\t(No symbol) [0x00007FF7C2243404]\t(No symbol) [0x00007FF7C2243592]\t(No symbol) [0x00007FF7C2232F9F]\tBaseThreadInitThunk [0x00007FF81527257D+29]\tRtlUserThreadStart [0x00007FF8161EAF28+40]"
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
확장자에 따라 다른가요?
혹시 .py & .ipynb 확장자에 따라 코드가 잘 실행되고 안되고 그럴 수 있나요?
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
pip install pyperclip 에러
안녕하세요. pip install pyperclip 를 주피터노트북에 따라하니까 다음 에러가 발생합니다.-----------------Cell In[1], line 1 pip install pyperclip ^ SyntaxError: invalid syntax ------------------그래서, 찾아보니까 !pip install pyperclip 로하면된다고 하여 설치는 했는데, 이번에는 다음과 같이 import pyperclip에서 에러가 발생합니다. 도움 부탁드립니다.현재 주피터 노트북에서 python 버전은 3.12.3 입니다.------------ModuleNotFoundError Traceback (most recent call last)Cell In[1], line 6 4 from selenium.webdriver.common.keys import Keys 5 import time----> 6 import pyperclip 9 #크롬 드라이브 생성 10 driver=webdriver.Chrome()ModuleNotFoundError: No module named 'pyperclip'"
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
주피터 말고 파이참 사용해도 되나요?
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다)- 이외의 문의등은 평생강의이므로 양해를 부탁드립니다- 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다- 잠깐! 인프런 서비스 운영(다운로드 방법포함) 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
Exercise 20. 데이터 구조 (리스트) 질문
(1) 요청사항사용자로부터 주민등록번호를 입력받아, 성별을 '남성' 또는 '여성'으로 출력하세요.주민등록번호 뒷자리 맨 앞자리는 성별을 나타냄예) 800001-1231231 주민번호를 입력받으면 1을 출력하면 됨1이면 남성, 2이면 여성을 출력하면 됨(2) 입력코드data = input()if data[7] == '1':print ("남성")else:print ("여성")(3) 코드결과800001-1231231남성입력코드에서 data[7]이면 '-'인데, 어떻게 코드 결과가 원활하게 나올 수 있는 걸까요?요청사항을 충족하려면, 아래와 같은 코드를 입력해야 하는 거 아닌가요??(4) 수정코드data1 = input()if data1.split("-")[1][0] == 1:print ("남성")else:print ("여성")예제로 주신 코드가 오류 없이 작동하는 점이 궁금해 질문드립니다.