묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
open api 사용 강의 중 질문이 있습니다.
알려주신 업데이트된 openapi 강의를 유튜브에서 보고 따라하였는데 에러가 발생하여 문의드립니다. 발생한 에러는 이렇습니다. 혹시 크레딧이 없어서 발생하는 문제일까요?현재 크레딧 창을 보면 이렇게 되어 있네요..
-
미해결파이썬 셀레니움 고급편 (python selenium - 크롤링, 크롤러)
새로운 탭에서 설정 유지
핵심 노하우가 담긴 좋은 강의 감사합니다.링크를 클릭하면 새로운 탭이 열리는 경우가 있는데요. 그때는 설정한 user agent값이 없어지더라고요. 이걸 해결할 방법이 잘 떠오르지 않습니다. 해결책이 있을까요?
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
객체지향 출력 순서
제가 생각했을때는 print(argument1, argument2) 그 다음에 self.name이면1 2blue 사각형2 3yellow 사각형 순서로 출력이 되어야 할 것 같은데, 예상 밖이네요..혹시 이렇게 순서가 되는 이유가 있나요?
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
데이터 구조 (set) 질문있습니다
안녕하세요set으로 한개의 data만 저장을 하려고 할때{} 없이 변수 = set('data1') 이런 식으로 입력한다고하셨는데 jupyter notebook 에서 set('apple')을 실행한 결과 사진과 같이 {'a', 'e' ,'l' ,'p'} 로 분해되던데 왜그런걸까요??
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
자동로그인 문의
selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: cannot parse capability: goog:chromeOptionsfrom invalid argument: unrecognized chrome option: excludesweitchesStacktrace: 이런 메세지가 뜨고 자동로그인 창이 안나오는데..왜 그런지 모르겠어요 ㅠㅡㅠ
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
함수 관련으로 질문이 있습니다.
안녕하세요, 함수 문제를 풀어보다가, 문의사항이 있어서 질문 올립니다.67, 68번 예시와 다르게 노출되어, 원인이 무엇인 지 알고 싶습니다. Excercise 67. 함수 문제를 아래 방식으로 풀어봤는데, 결과 값에 'None' 값도 같이 출력되는지 알고 싶습니다. Excercise 68. 역시 풀어보다가, 똑같이 'None' 값이 나와서 이유를 알고 싶습니다! 감사합니다.
-
해결됨파이썬 셀레니움 고급편 (python selenium - 크롤링, 크롤러)
mouse listener 관련해서 질문 드립니다.
안녕하세요,wsl2 ubuntu 환경에서 스크롤 녹화하는 실습 코드를 실행하는데 클릭하거나 스크롤을 해도 출력이 안되고 파일에 저장이 안되고 있습니다. 혹시 pynput라이브러리 리눅스 환경에서 사용하려면 추가로 설정 해야 하는 부분이 있을까요?
-
해결됨[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
NoSuchElementException 이라고 뜹니다
안녕하세요 선생님 ~ 질문있습니다.아래의 코드를 실행하니 NoSuchElementException이라고 뜹니다. 제가 생각하기엔 큰이미지를 다운로드 하는 과정에서 첫번째 사진만 저장되고 그 이후에 저런 메세지가 나옵니다.CSS 선택자가 잘못된 것 같은데 해결을 못하고 있습니다 ㅠㅠ 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 selenium.webdriver.common.keys import Keys import time import os import urllib.request import pyautogui # 크롬 드라이버 자동 업데이트 from webdriver_manager.chrome import ChromeDriverManager keyword = pyautogui.prompt("검색어를 입력하세요.") if not os.path.exists(f'CRAWLING심화\ch4.구글이미지크롤링\{keyword}') == True: os.mkdir(f'CRAWLING심화\ch4.구글이미지크롤링\{keyword}') # 브라우저 꺼짐 방지 코드 chrome_options = Options() chrome_options.add_experimental_option("detach", True) # 불필요한 에러 메세지 차단 chrome_options.add_experimental_option('excludeSwitches', ["enable-logging"]) # 최신 버전의 ChromeDriver 경로를 자동으로 다운로드하거나 검색 service = Service(executable_path=ChromeDriverManager().install()) driver = webdriver.Chrome(service=service, options=chrome_options) # url 검색 url = f"https://www.google.com/search?q={keyword}&sca_esv=581612012&tbm=isch&sxsrf=AM9HkKnRu6DCGGz23e29xT4BSB7Hq95zgA:1699754235522&source=lnms&sa=X&ved=2ahUKEwiboaf7rb2CAxWJfd4KHWkWA9MQ_AUoAXoECAQQAw&biw=1552&bih=737&dpr=1.65" # 웹 페이지가 로딩될때까지 10초 기다림 driver.implicitly_wait(10) # 화면 최대화 driver.maximize_window() driver.get(url) # 스크롤 전 높이 before_h = driver.execute_script("return window.scrollY") # 무한 스크롤 while True: # 맨 아래로 스크롤 내린다. driver.find_element(By.CSS_SELECTOR, "body").send_keys(Keys.END) # 스크롤 사이 페이지 로딩 시간 time.sleep(1) # 스크롤 후 높이 after_h = driver.execute_script("return window.scrollY") if after_h == before_h: break before_h = after_h # 썸네일 이미지 태크 추출 imgs = driver.find_elements(By.CSS_SELECTOR, ".rg_i.Q4LuWd") for i, img in enumerate (imgs, 1): # 이미지를 클릭해서 큰 사이즈 찾기 # 클릭하다보면 element click intercepted 에러가 등장 # javascript로 클릭을 직접 하도록 만들어주면 된다 driver.execute_script("arguments[0].click();", img) img.click() time.sleep(1) # 큰 이미지 주소 추출 target = driver.find_element(By.CSS_SELECTOR, 'img.sFlh5c.pT0Scc.iPVvYb') img_src = target.get_attribute('src') opener = urllib.request.build_opener() opener.addheaders = [('User-Agent', 'Mozila/5.0')] urllib.request.install_opener(opener) # 이미지 다운로드 urllib.request.urlretrieve(img_src, f'CRAWLING심화\ch4.구글이미지크롤링\{keyword}\{keyword}{i}.jpg') print(f'img {i}개 : {target}')
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
json() 함수와 BeautifulSoup 의 차이
requests.get() 메소드를 통해 얻은 res 라는 변수를res.json() 메소드를 이용해 얻은 리턴값과 BeatifulSoup(res.content, 'html.parser') 를 통해 얻은 값은 어떤 차이가 있을까요?코딩을 통해 직접 도출해본 결과 값은 비슷하게 나오는 것 같은데, 이전 강의까지는 계속 BeatifulSoup를 이용하다가 이번 강의에서부터는 json()을 이용하는 이유는 무엇인가요?
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
chat gpt api 사용법관련 문의드립니다.
현재 강의 후 openai API 내용이 업데이트 되었는지 모르겠지만 강의 내용과 좀 다른 부분이 있어서 문의드립니다.사이트 코딩강의 코딩import 부분과 api_key 넣는 부분 등 코딩이 대체적으로 좀 다르네요.
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
셀레니움4로 실습을 해보았는데 불필요한 코드가 포함되어있을까요??
from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By import time from selenium.webdriver.common.keys import Keys # 브라우저 꺼짐 방지 chrome_options = Options() chrome_options.add_experimental_option("detach", True) # 불필요한 에러 메시지 없애기 chrome_options.add_experimental_option("excludeSwitches", ["enable-looging"]) # 브라우저 생성 service = Service(executable_path=ChromeDriverManager().install()) driver = webdriver.Chrome(service=service) # 웹 사이트 열기 driver.maximize_window() driver.get("https://www.naver.com") driver.implicitly_wait(10) # 로딩이 끝날 때까지 10초는 기다림 # 쇼핑 메뉴 클릭 driver.find_element(By.CSS_SELECTOR, "#shortcutArea > ul > li:nth-child(4) > a").click() time.sleep(2) # 새창을 바라보게 만들기 new_window = driver.window_handles[1] driver.switch_to.window(new_window) # 검색창 클릭 search = driver.find_element(By.CSS_SELECTOR, "input._searchInput_search_text_3CUDs") search.click() # 검색어 입력 search.send_keys("아이폰 13") search.send_keys(Keys.ENTER) # 브라우저 종료 방지 - 입력 대기 input("로그인 성공 후 프로그램을 종료하려면 엔터 키를 눌러주세요.") # 브라우저 종료 driver.quit() 안녕하세요.이번 강의를 참고하여 셀레니움4로 코드를 적용해보았는데불필요한 라이브러리나 코드을 추가한게 있을까요?..
-
해결됨[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
쿠팡 첫페이지 관련 href 오류가 뜹니다.
강의노트에 올려주신 코드를 그대로 복붙해서 실행시켰는데,C:\CRAWLLING> cmd /C "C:\Users\libra_erv8ij1\AppData\Local\Programs\Python\Python312\python.exe c:\Users\libra_erv8ij1\.vscode\extensions\ms-python.python-2023.20.0\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher 1693 -- "c:\CRAWLLING\CRAWLING 심화\ch3. 쿠팡크롤링\01.첫번째페이지크롤링.py" "Traceback (most recent call last): File "c:\CRAWLLING\CRAWLING 심화\ch3. 쿠팡크롤링\01.첫번째페이지크롤링.py", line 20, in <module> sub_url = "https://www.coupang.com" + link.attrs['href'] ~~~~~~~~~~^^^^^^^^KeyError: 'href'href 관련 오류가 나옵니다. 왜그러는걸까요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
현재 주식가를 불러오지 못 하고있습니다.
import requests from bs4 import BeautifulSoup url = "https://finance.naver.com/item/main.naver?code=000660" res = requests.get(url).text soup = BeautifulSoup(res, 'html.parser') price = soup.select_one("#_nowVal") print(price)태그는 강의와 같이 그대로인데 실행하면 None이라고 뜹니다... 네이버에서 크롤링을 막아놓은건지 저번에도 웹툰크롤링 할때도 위와같이 None이 떠서 포기했었는데 뭐가 문제인지 아직 파악을 못하겠네요.. 시세부분은 Allow여서 허용같은데... 무슨 문제인지 알려주시면 감사하겠습니다 ㅠㅠ
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
print 출력 시 오류
print (age, name)은 정상 출력되어지나print (age, name, foot_size) 입력시 출력이 되지 않습니다.
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
쿠팡 크롤링시 연결이 비공개로 설정되어 있지 않습니다. 경고문 발생하였습니다.
크롤링을 하게 되면 크롤링한 사이트의 정보는 가져오는데 링크를 클릭하면 "연결이 비공개로 설정되어 있지 않습니다." 이렇게 발생합니다. 이게 쿠팡에서 크롤링을 막은 것인지 아니면 어떠한 문제 때문에 그런건가요? 그리고 해결 방법은 무엇이 있을까요?인터넷 검색해보니 여러가지 답변이 있는데 맞는 방법인지 잘 몰라서 문의 드립니다.
-
미해결파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
데이터 비교시 데이터 불일치
오래전에 강의듣다 포기하고 다시 시작하는 중입니다.많은도움 감사합니다. 삼성전자 주식데이터와 금리와의 비교데이터를 만들다 해결이 되지 않아 질문 드립니다.삼성전자stock_code= fdr.DataReader(stock_code, stock_start_data, stock_end_data)stock_code.tail(1) 금리pd.read_csv("한국은행 기준금리 및 여수신금리_23054821.csv", encoding="cp949")이걸합치 날짜가 아닌 3439로 출력이 됩니다. 두게의 데이터를 합쳐 관계를 분석하고 싶은데 3439으로 출력이되면서 그래프가 두게로 표시가됩니다날짜로 변경하여 그래프가 출력되도록 하고싶은데 방법을 모르겠습니다. 만들고 싶은 그래프(아래)
-
미해결일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
5강 처음부터 전혀 따라 갈수가 없어요
필수라이브러리를 공유드린 소스 코드에서 붙여 넣으라는데 노트에 적힌 주소 중 어떤것인가요? 너무 불친절하게 가르치는거 아닌가요? 소스코드 정보를 열었는데 라이브러리는 어디에서 어떻게 하는것인지 너무 불친절 하시네요
-
해결됨[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
html에서 가져오지 못하는 부분이 있어 질문 드립니다.
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/119.0.0.0 Safari/537.36' } url = 'https://new.land.naver.com/complexes/8928?ms=37.2110479,127.0941727,16&a=APT:ABYG:JGC:PRE&b=B1&e=RETAIL&ad=true&articleNo=2350848148' article_response = requests.get(url, headers=headers) html = article_response.text soup = BeautifulSoup(html, 'html.parser') items = soup.select(".info_title") #Select의 결과는 리스트자료형 print(items)안녕하세요. 강의 다 들은지는 꽤 됬는데 beautifulsoup을 오랜만에 사용하려니 막혀서 질의드립니다. ㅠurl의 네이버 부동산에 들어가서 해당 매물의 중개소 정보를 가져오려고 하는데요.분명 크롬 개발자도구에서 info_title 클래스의 div 태그가 있음에도 아무것도 파싱되지 않습니다. ㅠ다른 클래스로 지정시 파싱은 잘 되서 코드에는 문제가 없는거 같은데 유독 저것만 왜 안나오는 걸까요 ㅠ
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
Javascript와 iframe이 포함된 url cawling시 문제점
안녕하세요.Javascript나 iframe등이 포함된 url을 crawling할때 devTools에서는 분명히 element가 존재하는데Selenium WebDriver의 page_source에는 추가된 element는 없고 JavaScript와 기타 code만 보이는 문제가 있습니다. Javascript나 iframe등이 실행되고 난 결과의 html,즉 element가 전부 업데이트된 것을 받아 볼수 있는 방법이 없을까요?sleep,wait등을 충분히 줬는데도 해결이 안되네요. 감사합니다. ^^
-
미해결남박사의 파이썬 기초부터 실전 100% 활용
숫자야구 코드를 짜 봤는데 뭔가 이상합니다.
# v2: 안 보고 만들기 (23.11.21)from random import randintfrom os import systemanswer = []num = str(randint(0, 9))for i in range(3): while num in answer: num = str(randint(0, 9)) answer.append(num)strikes = 0balls = 0system('cls')while strikes < 3: user_input = str(input("3자리 숫자를 입력해 주세요.")) if len(user_input) != 3: print("3자리 자연수를 입력해주세요.") continue if not user_input.isdigit(): print("문자 말고 숫자를 입력해주세요.") continue if user_input[0] == user_input[1] or user_input[1] == user_input[2] or user_input[0] == user_input[2]: print("중복된 숫자 없이 입력해주세요.") continue strikes = 0 balls = 0 # 숫자 비교 for i in user_input: for j in answer: if i in answer and i == j: strikes += 1 if i in answer and i != j: balls += 1 if strikes != 3: print(f"{strikes} 스트라이크, {balls} 볼") else: print("성공!") 37, 39에서 저는 i in answer를 써 봤는데요. 막 2 스트라이크 4 볼이 나오고 그런 현상이 생깁니다ㅠㅠ