[셀레니움 기초] StaleElementReferenceException 오류 해결 StaleElementReferenceException: stale element reference: element is not attached to the page document 다른 블로그 포스팅에서 time.sleep() 주면 해결된다고 하는데 여전히 문제가 해결이 되시지 않는다면, 이 포스팅이 도움이 되실겁니다. 제가 원하는 바는 아래와같이 네이버 쇼핑 검색창에 슬리퍼를 입력하고, 다시 그 부분을 지우고 싶었습니다. search_keyword = driver.find_element(by=By.XPATH, value='//input[@title="검색어 입력"]') search_keyword.send_keys(keyword) search_keyword.send_keys(Keys.RETURN) se.. 파이썬/크롤링 2022. 4. 7. [selenium 기초] 셀레니움 ~ is not clickable at point ~ 오류 해결 방법 이번 포스팅에서는 ~ is not clickable at point ~ 문구로 오류가 발생할 경우 어떻게 해결 해야 하는지 알아 볼게요. 에러 문을 보면 알수 있듯 해당 부분을 셀레니움으로 클릭할 수 없다는 내용입니다. 분명 클릭할 수 있는 부분인것 같은 데 왜 클릭이 안되지 라는 의문이 드시는 분들이 있을 것 같은데요. 이건 태그 특성상 클릭이 안되는 부분일 가능성이 높습니다. 예를 통해 설명을 드려보겠습니다. 저는 네이버 쇼핑몰에서 해당 더보기 버튼을 누르고 싶습니다. 개발자창을 확인해보니, "더보기"라는 text가 있으니까 저부분을 클릭 하면 되겠라고 생각하고 해당부분을 scraping 합니다. 참고로 해당 부분을 xpath로 가져오려면 //*[text()="연관검색어"] 입니다. (xpath에 대.. 파이썬/크롤링 2022. 4. 6. [크롤링 기초] 부모(상위)태그 | 자식(하위)태그 | 형제 태그 개념 혹시 부모 태그와 자식 태그 형제 태그에 대한 개념을 아시나요? 모르신다면 이번 포스팅을 통해 개념을 정리 해보도록 하겠습니다. 참고적으로 우리는 html을 공부하는게 아니라, 크롤링을 위한 최소한 것들만 알아볼 예정입니다. html 기본 형태 위 그림이 우리가 일반적으로 만날 수있는 html태그의 구성입니다. (물론 이해를 돕기 위해 극단적으로 단순화 했지만요.) 보시는것 처럼 형태로 구성이 되어있습니다. 다시 말하면 로 태그를 열고 같이 슬래시가 있는 형태로 닫아주는 형태입니다. 물론 태그에 따라 닫지 않는 태그도 있으나, 일반적으로 열고 닫는 형태라는것만 알아두시면 됩니다. 부모 태그 자식 태그 관계 위 그림을 보시면 html태그 안에 head태그가 들어있습니다. 두 태그 중 누가 부모태그(상위태그.. 파이썬/크롤링 2022. 3. 30. [파이썬 기초] Visual Studio Code(비주얼 스튜디오) 설치 대표적인 ide중 하나인 visual studio code 설치를 해보도록 하겠습니다. (아직 파이썬을 설치 하지 않으신분들은 해당 포스팅을 확인 후 설치후 돌아와주시기 바랍니다.) VSCode 홈페이지 접속 https://code.visualstudio.com/ Visual Studio Code - Code Editing. Redefined Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite platform - Linux, macOS, .. 파이썬/파이썬 기초 2022. 3. 28. [파이썬 기초] 파이썬 설치 및 실행(파이썬 시작 하기) 파이썬 공식 홈페이지 접속 파이썬을 다운 받기 위해 아래 링크에 접속합니다. https://www.python.org/downloads/ Download Python The official home of the Python Programming Language www.python.org 파이썬 공식 홈페이지 접속 아래 이미지의 빨간 박스 부분을 클릭 하여 다운로드 합니다. (가장 최신버전을 다운로드 하는것임으로 제일 뒤에 숫자부분은 여러분이 다운 받는 시기에 따라 달라질 수 있습니다.) 다운로드 및 설치 Add Python 3.10 to PATH를 꼭 체크하신후에 Install Now를 클릭해주셔야지, 추후 에러가 발생되지 않습니다. 설치 확인 마지막으로 설치가 잘 되었는지 확인해보겠습니다. 아래 그림과.. 파이썬/파이썬 기초 2022. 3. 28. [python 기초] github에 민감한 정보를 가리고 올리고 싶다면? 환경변수 설정 (with dotenv) 이번 포스팅에서나 SECRET_KEY 나 PRIVATE_KEY같이 민감한정보를 github에 올리고 싶지 않을때 어떻게 하는지 하나 하나 알아 보도록 하겠습니다. .env 파일 생성 후 .gitignore 파일에 넣기 1. .env 라는 파일을 현재 경로에 만들어줍니다. 만약 PRIVATE_KEY를 숨길 용도라면 PRIVATE_KEY=#as;dlkfja32! 와 같이 환경변수로 설정을 해줍니다. (따옴표를 적지 않는 다는것 주의하세요!) 2. .gitignore 파일에 해당 파일을 넣어줍니다. (.env 파일에 민감 정보를 넣었으니 당연히 github에 올라가지 않도록 .gitignore파일에 넣어야 겠지요?) 다음으로는 .env파일에 적은 값을 어떻게 불러오는지에 대해 알아보겠습니다. dotenv 설치.. 파이썬/파이썬 기초 2022. 3. 18. [Python 셀레니움] executable_path has been deprecated, please pass in a Service object 에러 해결 방법 크롤링이 정상적으로 되는것같으나 아래와 같은 에러문이 뜨시나요? 챗gpt로 크롤링 하는 방법 이번 포스팅을 통해 문제를 해결해보도록 하겠습니다! 해당 에러는 selenium이 4.대 버전이 되면서 ‘기존 방식이 아닌 새로운 방식으로 코드를 작성하라!’라는 Warning(경고)문 이라고 보시면 됩니다. 그렇기 때문에 경고문이 뜨지만 잘 작동할 수 있었던거죠. 그렇다면 해결책은 두 가지겠죠? 지금 설치하신 최신 버전 셀레니움을 삭제하시고 구버전 selenium을 설치하시면 됩니다. 최신 selenium에서 바라는대로 코드를 작성하시면 됩니다. 예전 버전으로 돌아가기 가장 심플하고 쉬운 방법이죠. 기존에 설치했던 selenium을 삭제하시고 3.0대 selenium을 설치하시면 됩니다. pip uninstal.. 파이썬/크롤링 2022. 3. 15. [django 기초] 페이징 처리(pagination) 마스터 하기 이번 포스팅에서는 페이징 처리에 대해 알아보겠습니다. 아주 간단한 개념부터 하나씩 쌓아가는식으로 진행할것이기 때문에 처음부터 하나씩 이해해가며 읽어 주시면 좋겠습니다. 특히 이번 포스팅에서는 페이징에 대해서만 다룰것이기에 이외에 css나 다른 구현들은 극단적으로 단순화할 것입니다. paging 처리전 기본 세팅 간단하게 model, view, html을 간단히 구성해주시고, # models.py from django.db import models from django.conf import settings # Create your models here. class Post(models.Model): author = models.ForeignKey(settings.AUTH_USER_MODEL, on_dele.. 파이썬/django(장고) 2022. 2. 16. [장고 오류] TypeError: _path() got an unexpected keyword argument 'namespace' 아래와 같이 작성하면 이와 같이 오류가 발생합니다. namespace는 name과 다르게 path의 인자가 아니라 include의 인자입니다. 즉, 아래와 같이 작성해줘야 정상적으로 작동합니다. 파이썬/django(장고) 2021. 12. 14. [django 기초] admin 사용법 장고 프로젝트를 생성하고 urls.py 에 기본적으로 작성되어있다. 장고 서버를 키고 해당 url로 접속하면 아래와 같은 화면이 뜬다. 이때 최초 username과 password 를 생성해줘야 하는데, 아래 명령어를 쳐주면됨. ## django.db.utils.OperationalError: no such table: auth_user 파이썬/django(장고) 2021. 12. 14. [장고 기초] 기본 html을 이용하여 detail view 구현 해보기 여러 페이지중에서 특정 페이지를 접속할때 사용하는 view를 일반적으로 detail view 라고 부릅니다. 우리가 흔히 아는 형태는 아래와 같이 를 url에 넣어주고 , url에서 전달받은 id값은 view함수의 두번째 인자로 전달 되게 됩니다. 그 후 Article.objects.get(id=id)와 같은 형태로 하나의 article을 뽑고 이것을 html에 뿌려주게 되는것이지요. 이번 시간에 우리가 하고싶은 것은, 아래 input창에 id값을 입력해서 해당 detail에 접속하는것입니다. 이를 위해 우리가 먼저 알아야할것은 아래 form 내부에 input태그들이 어떻게 동작하는지 알아야합니다. url 변화 1. 2라는 값을 넣고 제출을 눌러봅니다. 2. 웹페이지가 번쩍하면서 refresh 되고 아무.. 파이썬/django(장고) 2021. 11. 17. [파이썬 중급] getattr | setattr | delattr 은 무엇일까? 아래와 같이 클래스로 이루어진 패키지나 라이브러리 깃헙 코드를 보다보면 아래와 같이 getattr이라는 녀석(?)을 자주 만나게 되는데요 이번 포스팅에서 이 친구가 누구인지에 대해 알아보도록 하겠습니다. 우선 해당 함수의 생김새를 보면 녀석의 기능을 유추할 수 있는데요. getattr --> get attribute 즉 클래스의 attribute 값을 얻어오는 함수라고 볼 수가 있습니다. # attribute를 모르시는 분들 위해 간단히 설명 드리자면. 클래스는 기본적으로 빨간색 부분과 파란색부분(함수)로 이루어져 있는데요. attribute는 빨간색 부분을 의미합니다. 예를 들어 Program이라는 클래스에서 language 값을 추출하고 싶을때 사용하는 것이죠. 실제로 어떻게 사용되는지는 코드를 통해.. 파이썬/파이썬 중급 2021. 10. 14. 이전 1 2 3 4 5 6 다음