👋잠깐!! 🔥 "USB: usb_device_handle_win.cc:1048 Failed to read descriptor from node connection: 시스템에 부착된 장치가 작동하지 않습니다. (0x1F)" 와 같은 형태의 오류 메시지가 나타나는 경우 아래와 같이 크롬 객체를 생성할 때 로그 레벨 설정을 통해 우리에게 불필요한 로그는 표시되지 않도록 할 수 있습니다 😄 options = webdriver.ChromeOptions() options.add_argument('log-level=3') browser = webdriver.Chrome(options=options) # 옵션 적용
감사합니다. 이제는 안보고도 혼자 에러없이 작성가능 합니다. 같은 코딩 작업 10번 하니까 오타를 칠때마다 하나씩 더 배우는게 너무 좋습니다. 이제 크롤링 기본은 할수 있어서 너무 감사합니다. 특기 element 를 찾는게 이제는 조금 익숙해 졌습니다. 그리고 csv 파일을 찾아서 지울수 있는 방법으로 해서 연속 크롤링도 해 보고요. 너무 감사합니다.
3:35 부분에서 + CategoryInfo : 보안 오류: (:) [], PSSecurityException 뜨시는 분들은 파워쉘을 관리자 권한으로 실행한 후 Set-ExecutionPolicy Unrestricted를 입력 후 A를 누르고 다시 VSC 화면에서 진행하시면 됩니다
한줄씩 따라하며 공주하고 있읍니다. 자세한 설명 감사드립니다. 아래 부분을 실행하면 btn_apply = browser.find_element(By.XPATH,'//a[@href="javascript:fieldSumit()"]') btn_apply.click() item_btn = browser.find_element(By.XPATH, '//a[@href="javascript:fieldSumit()"]') Traceback (most recent call last): File "", line 1, in File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver emote\webdriver.py", line 855, in find_element return self.execute(Command.FIND_ELEMENT, { File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver emote\webdriver.py", line 428, in execute self.error_handler.check_response(response) File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver emote\errorhandler.py", line 243, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//a[@href="javascript:fieldSumit()"]"} (Session info: chrome=105.0.5195.54) 이렇게 나옵니다. 해결 방법이 있나요? 감사합니다. 앞으로도 좋은 강의 부탁드립니다.
xpath 에 오타가 있네요. Sumit 에 b 를 붙여서 Submit 으로 수정하시면 될거에요! btn_apply = browser.find_element(By.XPATH, '//a[@href="javascript:fieldSubmit()"]') btn_apply.click()
import pandas as pd 이것을 입력하면 아래 이런 문구가 나타납니다. import : 'import' 용어가 cmdlet, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하 십시오. 위치 줄:1 문자:1 + import pandas as pd + ~~~~~~ + CategoryInfo : ObjectNotFound: (import:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException 이럴때는 어떻게 해결해야 하는지요? 이게 무슨 뜻을 의미하는지 알수가 없어서요.. 요청드립니다.
@@autocoderIT 주식투자 안할거면 모르겠지만 투자 계속할거라면 주식으로 10만원에서 30억으로 만든 [주식의정석] 이 채널의 영상들을 꼭 보셔야 할거에요 (영상들이 짧아서 보는데 무리없음) 주식투자를 어떻게 해야만 하는지 그야말로 주식의정석을 보여주고있더군요. 아마 은둔고수로 추정이되는데요 광고 아니니 오해없으시길..
안녕하세요 영상 보고 도움 많이 받고 있습니다. 영상을 따라하다 문제가 발생해서 질문 드리고 싶습니다. 영상과 같이 click() 함수를 이용해서 창을 바꾸고, 그 창을 browser.page_sourse를 통해 df를 얻었습니다. 그런데 조종하는 chrome창은 바뀌어 새로운 테이블이 보이는데, 막상 df를 확인해보면, 바뀌기 이전의 페이지에서만 데이터가 수집된 결과만 보입니다. 어떤 해결책을 생각해볼 수 있을지 궁금해서 질문 드렸습니다. 글 읽어주셔서 감사합니다. 좋은 하루 되세요~!
정말 감사합니다. 진행에 어려움이 있어서 여쭤봅니다. df = pd.read_html(browser.page_source) 이부분에서 :1: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object. 라고 오류가 뜨는데 더이상 쓸수없는 명령어 아닌가요?
@@nadocoding 그렇겠네요. 궁금해서 원하는 값만 체크한 후 네트워크를 보니 내부적으로만 get으로 통신하고 주소값은 갱신하지 않네요. 설정은 쿠키에만 저장해서 쓰고요. 네이버가 왜 이런 (후진적인 느낌이 나는) 방식으로 만든건지 궁금하네요. 주기적으로 테이터를 가져와 저장할 용도가 아니라면 선생님의 선택처럼 selenium이 requests보다 더 좋은 선택 같습니다. 말씀 잘 들었습니다. 감사합니다.
안녕하세요~ 영상 잘 보고 있습니다. 영상을 보다보니 궁금한 점이 생겨서 여쭤봅니다! 제가 웹쪽을 하다보니 파이썬하면 djiango와 flask를 많이 들어봤는데 영상은 웹쪽을 안다루시다보니 안쓰시는 건지 궁금해서 댓글로 여쭤봅니다! 제가 웹쪽에서 다른 언어는 다뤄봤는데 파이썬은 아직 안다뤄봐서 궁금합니다 ㅎㅎ
좋은 강의 매번 감사드립니다 최근 파이썬을 접하게 되어 나도코딩님 영상보며 많이 배웠습니다. 혹시 epub 형식의 여러 파일을 새로운 epub파일 하나로 합치는 프로그램 만드는 것이 가능할까요? 여러 텍스트 파일을 합치는 실행프로그램은 만들었지만 epub형식은 병합되지 않고 설령 합쳐진다해도 손상된 파일로 뜹니다ㅠㅠ 많이 찾아보았지만 해결이 어려워 댓글로 달아봅니다
업무상 매일같이 해야 하는 작업이 있을까요? 단순하지만 계속 반복해서 해야 하는 일, 하다 못해 양식이 정해진 보고 메일이나, 파일명 일괄 변경, 또는 회사 시스템 로그인이나 업무 환경 세팅 등의 작업도 자동으로 할 수 있습니다. 엑셀을 자주 다루신다면 더욱 좋구요. 사람이 해야 하는 일 중에서 일부만 줄여도 꽤 편해질 수 있어서, 하시는 일 중에서 자동화를 할 만한 부분을 먼저 찾아보면 좋겠습니다. :) "이런 것도 될까?" 의심되는 부분이 생기면 댓글로 남겨주시면 제 의견을 공유드릴게요!
제가 주식 관심이 있어서.. ㅎㅎㅎ FinanceDataReader로 검색해 보시면 답을 찾으실 수 있습니다. 종목 코드와 원하는 기간을 넣으시면 자료를 쫙~~~ 가져오실 수 있습니다. financedata.github.io/posts/finance-data-reader-users-guide.html # pip install finance-datareader import FinanceDataReader as fdr # 기간을 설정하고자 할 경우 (종목코드, 시작일, 종료일) # 종료일을 생략하면 현재일까지 df = fdr.DataReader('068270', '2020-12-08', "2022-09-13") print(df.head())
코드 모두 작성하고 VScode 스크립트에서 코드 작동시키면 왜 for문 시작하고 page 1 돌아갈 때 쯤 "USB: usb_device_handle_win.cc:1048 Failed to read descriptor from node connection: 시스템에 부착된 장치가 작동하지 않습니다. (0x1F)" 오류가 뜰까요....?ㅠㅠ 가상환경에서는 잘 작동하긴 합니다 ㅠㅠ
프로그램 동작과 직접적인 관련 없는 불필요한 로그는 아래와 같이 크롬 객체를 생성할 때 로그 레벨 설정을 통해 표시되지 않도록 할 수 있습니다 :) options = webdriver.ChromeOptions() options.add_argument('log-level=3') browser = webdriver.Chrome(options=options) # 옵션 적용
selenium 동작에 문제가 없다면 시작 부분을 아래와 같이 변경하여 불필요한 로그를 제외할 수 있습니다 :) options = webdriver.ChromeOptions() options.add_experimental_option("excludeSwitches", ["enable-logging"]) browser = webdriver.Chrome(options=options)
좋은 강의 너무 감사합니다! 개인적으로 궁금한게 있는데 이런 강의 준비하시는데 보통 얼마나 걸리세요? 제가 마지막 결과값만 보고 강의 듣기전에 혼자서 따라해봤는데 저는 거의 1주일 넘게 걸리더라고요 그래서 선생님 께서는 혼자서 이걸 먼저 돌려보시고 강의를 하실거 같은데 얼마나 걸리시는지 궁금해서요!
파이썬은 인터프리터 언어라서 코드를 작성하면서 바로 실행 결과를 확인할 수 있어요. 터미널에서 python 이라고 입력을 하면 파이썬 코드를 작성할 수 있는 프로그램이 실행되고 >>> 라는 기호 뒤에 코드를 적은 뒤 엔터를 치면 바로 바로 실행 결과를 확인할 수 있게 된답니다.
코드에 option 을 통해 로그 레벨을 다음과 같이 조정해보시겠어요? options = webdriver.ChromeOptions() options.add_argument('log-level=3') browser = webdriver.Chrome(options=options) # 옵션 적용
파이썬 패키지를 설치하게 되면 한 곳에 쌓이게 되는데 프로젝트에 따라 같은 패키지라도 최신 버전이 아닌 과거 버전을 사용해야하는 경우도 있습니다. A 프로젝트에서는 과거 버전, B 프로젝트에서는 최신 버전을 써야한다면 문제가 발생할 수 있지요. 이 때 가상환경을 사용하면 서로 독립적인 공간에 필요한 패키지들만 설치해서 사용할 수 있게 돼요. 그러면 A 프로젝트의 가상환경에는 과거 버전의 패키지를, B 프로젝트에서는 최신 버전의 패키지를 각각 설치해서 서로 간섭 없이 버전 호환성 문제 없이 작업이 가능해집니다. 최근에 채널에 올린 가상환경 강의 영상의 앞부분을 보시면 도움되실거에요 ^^ 링크 : ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-o_vKT80BBkw.html
안녕하세요 잘 보고 있습니다. >>> df = pd.read_html(browser.page_source) :1: FutureWarning: Passing literal html to 'read_html' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object. 잘 따라가고 있는데 이부분에서 이런 에러가 나는데 원인이 뭘까요?
안녕하세요. 강의 잘 들었습니다 선생님. 한번 하고, 다음날 다시 하려고 (코드 똑같이) 하니깐, 강의 기준23:23 (19~23줄 코드 부분)에서 stale element reference: element is not attached to the page document 이런 에러가 떳었는데 이유가 혹시 무엇일까요? 구글링 해보니깐 time.sleep 걸면 된다고 하던데, 그래도 해결이 안 되었는데.... 그냥 나중에 다시 돌리니깐 잘 작동하고 그렇네요 ㅜㅜ
ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-aIxdWfCe8Fo.html 여기 강의 보다 보시면 같은 오류 나와있어요! (25분 30초 근처 내용) 인터넷 자체에서 데이터를 불러오는데 걸리는 시간이 매번 달라서 그런 것 같네요! 바로 정보가 불러와 질 때도 있고 흰 화면이 뜬 다음 정보가 불러와질 때도 있는데 코드가 너무 빨리 돌아가서 정보가 아직 없을 때 접근해서 오류 난 것 같습니다
매번 좋은 강의 너무 감사합니다. 아래는 크롬이 자동으로 꺼지는 문제가 있어 찾다가 알게 된 정보입니다. from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_experimental_option("detach", True) # 브라우저 꺼짐 방지 browser = webdriver.Chrome(options=chrome_options)