묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[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(executable_path=ChromeDriverManager().install()) driver = webdriver.Chrome(service=service, options=chrome_options) # 웹페이지 해당 주소 이동 driver.implicitly_wait(5) driver.maximize_window() driver.get("https://nid.naver.com/nidlogin.login") # 아이디 입력창 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) # 로그인 버튼 login_btn = driver.find_element(By.CSS_SELECTOR, "#log\.login") login_btn.click() 로그인과 비밀번호 실행할 때마다 v로 아님 없음으로 또는 비밀번호만 눌러지고 하네요 정확도가 많이 떨어집니다.
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 기본편
ImportError: cannot import name 'load_dotenv' from 'dotenv'
안녕하십니까? '(BONUS) 셀레니움 ver 4.0 가이드 + 크롬 드라이버 자동으로 다운 받는 법' 수업중입니다.셀레니움 기본설정을 한 후 실행을 하면 스크린샷같은 오류가 발생되서 문의 드려봅니다.
-
미해결[웹 개발 풀스택 코스] Node.js 프로젝트 투입 일주일 전 - 기초에서 실무까지
현재 mysql 연동하기 강의를 듣고 있는데, ..
안녕하세요.현재 mysql 연동하기 강의를 듣고 있는데, sql 워크벤치에서 어떻게 칼럼을 넣어야 하는지 알수있을까요?
-
미해결Node.js로 웹 크롤링하기
아래 noscript 내용입니다.
const puppeteer = require('puppeteer'); const dotenv = require('dotenv'); dotenv.config(); const crawler = async () => { try { const browser = await puppeteer.launch({ headless: false, args: ['--window-size=1920,1080', '--disable-notifications'] }); const page = await browser.newPage(); await page.setViewport({ width: 1080, height: 1080, }); await page.goto('https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=서울+지게차'); await page.waitFor(3000); await page.evaluate(() => { window.scrollBy(0, 1500); document.querySelector('#loc-main-section-root > section > div > div.api_more_wrap > a').click(); }); await page.waitFor(3000); await page.waitFor(3000); await page.evaluate(() => { document.querySelector('#_pcmap_list_scroll_container > ul > li:nth-child(1) > div.qbGlu > div.ouxiq.icT4K > div > div > span > a > span.hClKF').click(); }); await page.waitFor(3000); await page.evaluate(() => { document.querySelector('#_pcmap_list_scroll_container > ul > li:nth-child(1) > div.qbGlu > div.ouxiq.icT4K > div > div > div > div:nth-child(1) > span.RUjqr > a').click(); }); } catch (e) { console.error(e); } }; crawler(); Error: Evaluation failed: TypeError: Cannot read properties of null (reading 'click') at __puppeteer_evaluation_script__:2:151 at ExecutionContext._evaluateInternal (/Users/youssi/Downloads/nodejs-crawler-master/lecture/node_modules/puppeteer/lib/ExecutionContext.js:122:13) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async ExecutionContext.evaluate (/Users/youssi/Downloads/nodejs-crawler-master/lecture/node_modules/puppeteer/lib/ExecutionContext.js:48:12) at async crawler (/Users/youssi/Downloads/nodejs-crawler-master/lecture/index.js:53:5) -- ASYNC -- at ExecutionContext.<anonymous> (/Users/youssi/Downloads/nodejs-crawler-master/lecture/node_modules/puppeteer/lib/helper.js:111:15) at DOMWorld.evaluate (/Users/youssi/Downloads/nodejs-crawler-master/lecture/node_modules/puppeteer/lib/DOMWorld.js:112:20) -- ASYNC -- at Frame.<anonymous> (/Users/youssi/Downloads/nodejs-crawler-master/lecture/node_modules/puppeteer/lib/helper.js:111:15) at Page.evaluate (/Users/youssi/Downloads/nodejs-crawler-master/lecture/node_modules/puppeteer/lib/Page.js:833:43) at Page.<anonymous> (/Users/youssi/Downloads/nodejs-crawler-master/lecture/node_modules/puppeteer/lib/helper.js:112:23) at crawler (/Users/youssi/Downloads/nodejs-crawler-master/lecture/index.js:53:16) 에러가 납니다. 구글 개발자도구에서 select an element~~~ 누르고 나서야 document.querySelector('#_pcmap_list_scroll_container > ul > li:nth-child(1) > div.qbGlu > div.ouxiq.icT4K > div > div > span > a > span.hClKF').click(); });위 소스가 정상적으로 작동을 합니다. 찾아보니 Javascript를 사용하여 브라우저에서 렌더링하는 웹 페이지를 가져오려고 합니다. 즉, Http Request Node를 사용하여 수신하는 초기 응답에 현재 검색 중인 데이터가 포함되지 않습니다. 당신의 데이터는 자바스크립트 안에 로드되어 브라우저에 의해 html에 삽입될 것입니다.이것과 비슷한 거 같습니다. 크롤링이 안되는 것일까요??
-
미해결Node.js로 웹 크롤링하기
크롤링
2달 전에 수업을 듣고 이제 네이버 지도를 크롤링을 하려고 하는데 noscript때문인지크롤링이 안되네요?혹시 noscript는 크롤링을 할 수 있는 방법이 있나요?
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 기본편
네이버 자체가 안켜져요,,,, 저만 이러가여,,,
네이버 자체가 안켜져요,, 경로 설정이 잘못되었다는데,,, 경로는 맞거든요,,,,뭘까요 선생님,,,,
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 기본편
실행이 안되어서 질문 드려요.
안녕하세요!크롬 드라이버 자동 업데이트 아래에 명령어를 넣었는데 노란줄이 뜨고 인식이 안되네요.이럴 경우엔 무엇이 잘못 된 건지 궁금합니다. ㅜㅜ
-
미해결실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
선생님 쓱닷컴이 바뀌었는데 이런형태는 처음이라서 문의 드립니다.
쓱닷컴 이벤트 주소는 아래와같습니다.https://shinsegaemall.ssg.com/event/eventMain.ssg?Sgnb=event 문제는 이벤트 페이지가 1, 2 이렇게 2개 존재합니다.문제는 1 페이지를 클릭하던2페이지를 클릭하던, 주소가 모두 같습니다. 1페이지 클릭시 -> https://shinsegaemall.ssg.com/event/eventMain.ssg?Sgnb=event2페이지 클릭시->https://shinsegaemall.ssg.com/event/eventMain.ssg?Sgnb=event 이럴때는 어떻게 해야하나요?셀레니움이 답일까요?
-
미해결12시간 안에 끝내는 파이썬을 활용한 크롤링
질문
안녕하세요,3강 네이버 글자 수집 듣고있는데, 도메인이 변경되어서요~아래와 같이 수집을 했는데 반응이 없습니다! 확인 부탁드립니다. :) 강의상에는 class 값이 nav 였지만 현재는 class = link_service 이렇게 되어있습니다.
-
해결됨일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석
네이버쇼핑 리뷰 크롤링 관련 오류 문의
안녕하세요강의자료를 똑같이 복붙해서 따라했는데 아래 화면과 같이 오류가 나오네요.제가 참고한 강의자료는 [강의5_웹크롤링_20230316.ipynb]입니다.무슨 문제가 있는 걸까요?
-
해결됨[2024 개정판] 이것이 진짜 크롤링이다 - 기본편
강의 잘 듣고 있습니다~!
import datetimeimport pausefrom selenium import webdriverfrom selenium.common import WebDriverExceptionfrom selenium.webdriver.chrome.service import Servicefrom selenium.webdriver.common.by import Byfrom webdriver_manager.chrome import ChromeDriverManagerchromedriver_path = r'C:\workspace\chromedriver.exe'# 브라우저 생성# mac 의 경우 /User/내거로/Documents/chromedriverbrowser = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=webdriver.ChromeOptions())# 카페 열기browser.get('https://cafe.naver.com/joonggonara')# 2023년 6월 13일 10시 25분 00초까지 대기# pause.until(datetime.datetime(2023, 6, 14, 9, 29, 00))# 게시판 선택browser.find_element(By.ID, 'menuLink2418').click()# 게시판의 광고글 제외 글 들 가져오기list = browser.find_elements(By.CSS_SELECTOR, '#main-area > div:nth-child(4) > table > tbody > tr:nth-child(1) > td.td_article > div.board-list > div > a')print(list)# 게시판의 첫 번째 글 입장안녕하세요 크롤링 초보입니다.네이버 카페에서 정해둔 게시판에 들어가 각 글들을 들어가서 확인하는 프로그램을 개인적으로 만들어보고자 하는데 #게시판의 광고글 제외 글 들 가져오기부분에서 리스트에 담지 못하고 있어요 강의 내용 중 없는 부분이긴 하지만 3일동안 해결하지 못해서 여기에 올려봅니다 ㅠㅠ - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
content와 text차이
패턴으로 실습하며 익히기: XML 포멧 이해와 공공데이터 Open API 로 미세먼지 정보 가져오기 (업데이트)5:53res.text보다 content가 더 좋다고 하셨는데 두 코드의 차이점이 뭐고 어떨때 어떤것을 쓰는게 좋을지 어떻게 판단하나요?
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
postman의 역할
크롤링을 위한 지식: 정부 제공 공공데이터 Open API 사용법 (업데이트)8:47 지난번 네이버openapi할때는 허겁지겁듣느라 잘 몰랐는데 poatman은 파이썬으로 확인할수 있는 openapi정보를 별도의 코딩없이 조금더 간편하게 확인할 수 있는 플랫폼인 건가요?
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
num질문
크롤링과 업무 자동화 기술: 네이버 Open API 활용, 네이버쇼핑 엑셀 보고서 만들기8:50num이라는 변수를 for index in range(10)밖에서 먼저 지정해줌으로써 전역변수가 되어서 for문이 반복되어도 초기화가 되지 않는 것을 이용한 것으로 봐도 되나요 약간 이부분이 어렵네요
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
res.json()질문
패턴으로 실습하며 익히기: 네이버 Open API 로 크롤링하기 8:30, 8:408:30에서 res.json한 결과값과8:40에서 data=res.json print(data)한 결과값이 왜 다른건가요??
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
requests.get함수
패턴으로 실습하며 익히기: 네이버 Open API 로 크롤링하기 7:20 제가 그동안 강의를 보면서 requests.get함수를 html정보를 가져오는 함수인줄 알았는데 그것이 아닌것을 깨달았습니다 requests.get함수가 어떤 역할을 하는것인지 검색해봐도 잘 이해가 가지 않는데 쉽게 설명해주실 수 있으신가요..?
-
미해결파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
크롤링 할때 select가져올때 질문
크롤링해서 엑셀 파일로 데이터 저장하기2 (업데이트)3:17select가져올때 기준이 애매합니다div.wrapfooter 하고 span.post-date해도되고아예그냥 span.post-date만 하면안되는 건가요?아니면 sapn.author-meta하고 span.post-date 이렇게 해도 되는 건가요?
-
미해결내 업무를 대신 할 파이썬(Python) 웹크롤링 & 자동화 (feat. 주식, 부동산 데이터 / 인스타그램)
5.2강 주식 일별 시세 데이터 관련 질문이 있습니다
안녕하세요 5.2강 주식 일별 시세 데이터 part2 강의 중 select문을 find를 활용해서 바꾸는 걸 강의에서 다루시는데 이 부분에 대해서 궁금증이 있어서 질문합니다. 강의 중에는 tr_element1 을 tr_elemnt2로 바꾸시는 과정을 했는데, 복습 중에 tr_element3의 방법으로 실행을 시켜도 같은 결과값이 출력되는 것을 발견했습니다. tr_element2가 더 확실한 방법이어서, 강의 중에 그 방법만 다루신건가요?? 혹시 tr_element3의 방법으로 하면 안되는 특별한 이유가 있을까요?? 좋은 강의 정말 감사드립니다 : )
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
첫번째 페이지 크롤링하기 _ 실행안됨
2022.04.28 에 업데이트 해주신 코드를 그대로 긁어서 실행해도아래와 같이 터미널에 실행내역(?)만 뜨고 별도 아무 반응이 없는 것 같은데 해결방법 알려주시면 감사하겠습니다..! C:\startcoding> c: && cd c:\startcoding && cmd /C "C:\Users\yjeon019\AppData\Local\Programs\Python\Python310\python.exe c:\Users\yjeon019\.vscode\extensions\ms-python.python-2023.10.0\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher 65533 -- "c:\startcoding\Chapter08_쿠팡\01. 첫번째페이지크롤링.py" "
-
미해결[2024 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)
첫번째 페이지 크롤링하기
2022.04.28 에 업데이트 해주신 코드를 그대로 긁어서 실행해도아래와 같이 터미널에 실행내역(?)만 뜨고 별도 아무 반응이 없는 것 같은데 해결방법 알려주시면 감사하겠습니다..! C:\startcoding> c: && cd c:\startcoding && cmd /C "C:\Users\yjeon019\AppData\Local\Programs\Python\Python310\python.exe c:\Users\yjeon019\.vscode\extensions\ms-python.python-2023.10.0\pythonFiles\lib\python\debugpy\adapter/../..\debugpy\launcher 65533 -- "c:\startcoding\Chapter08_쿠팡\01. 첫번째페이지크롤링.py" "