개발자/파이썬 12

파이썬 자동화 셀레늄(Selenium) iframe 문제 해결 (feat. no such element: Unable to locate element)

파이썬 자동화 셀레늄(Selenium) iframe 문제 해결 (feat. no such element: Unable to locate element) 요즘 Selenium으로 다시 자동화를 조금 만지고 있는다. 사실 대부분 하면서 크게 문제는 없는데 이상하게 어떤 웹페이지에서는 find_element_by_OO 메소드가 안 먹히더라. 코드상에서, elem = driver.find_element_by_id("category0") 요로케 찾는 코드를 작성했다. 근데 에러가 뜬다?! no such element: Unable to locate element: 결론은 element를 찾지 못한다는 것,, 분명 ctrl + f 로 찾아봤을 때, id가 category0인 요소가 존재한다! (아래 그림으로 확인)..

개발자/파이썬 2021.08.05

파이썬(Python) 가상환경으로 패키지 관리하기 (feat. venv, MacOS)

파이썬(Python) 가상환경으로 패키지 관리하기 (feat. venv, MacOS) 2021.07.12 - [개발자/42서울] - 42서울(42Seoul) 본 과정 중단 (feat. 사회적 거리두기 4단계) 이전 글에서 언급한 것처럼 시간적으로 여유가 조금 생겨서 내가 만들어보고 싶었던 간단한 자동화 프로그램을 만들어보려고 한다. 나 같은 경우엔 페이스북, 인스타같은 SNS를 거의 안 하지만, 이 계정들을 키우기 위해 자동화 프로그램을 사서 돌리는 사람들을 본 적이 있다. 원리는 간단해보이던데 금방 만들지 않을까? 라는 생각이 들어서 한 번 만들어보려고 한다. "자동화"라는 것은 잘 쓴다면 정말 편리하기 때문에 잘 정리해놓으면 필요할 때마다 유용하게 써먹을 수 있을 것 같다. 시작에 앞서 가상환경으로 ..

개발자/파이썬 2021.07.15

파이썬(Python) TabError: inconsistent use of tabs and spaces in indentation (feat. vscode)

파이썬(Python) TabError: inconsistent use of tabs and spaces in indentation (feat. vscode) 육안으로는 찾아보기 힘든 에러여서 한참을 헤맸다. 알고보니 굉장히 허접한(?) 에러였다. 다른 부분들은 탭으로 잘 먹혀있었는데, 저 코드 부분만 띄어쓰기 4칸으로 먹혀있었다. Vscode를 사용하고 있어서 딱히 신경을 안 쓰고 있었는데 컴퓨터를 키고 끄면서 초기 설정이 바뀌면서 탭을 눌러도 띄어쓰기 4칸으로 먹힌 것 같다. 이 에러를 막기 위해선 Vscode의 아래에 이 부분을 누르고 요 설정으로 바꿔주면 잘 해결될 것 같다. 짜잔 요로케

개발자/파이썬 2021.06.02

Python/Django TemplateDoesNotExist 에러 처리 방법!!

최근 Django project를 하며 두들겨 맞고 있는데 이상하게 정말 자주 보이는 에러가 있다! Django에 대해 잘 몰라서 발생하는 경우가 많았는데 오늘은 간략하게 이 에러에 대한 대처 방법을 다뤄보려고 한다. 일단 기본적인 것(?)은 알고 있다고 생각을 하고 Django document에서는 Project를 mysite, App을 polls라고 하는데 나는 Project를 d04, App을 ex01이라고 부르겠다. 첫 번째로는, Package(== 위의 그림에서 d04)에 존재하는 settings.py을 살펴봐야 한다. 이 파일안에 INSTALLED_APPS라는 변수가 있는데, 여기에 우리가 추가한 App들을 넣어줘야 한다. 가끔 까먹는 경우가 있으니, 에러가 난다면 확인해보면 좋을 듯 하다. ..

개발자/파이썬 2021.05.31

파이썬 재무제표 스크래핑으로 내가 원하는 주식 찾기(feat. 네이버금융)

파이썬 재무제표 스크래핑으로 내가 원하는 주식 찾기(feat. 네이버금융) 2021/01/03 - [개발자/파이썬] - 파이썬 셀레니움 (Selenium) headless 2021/01/02 - [개발자/파이썬] - 파이썬 Selenium (셀레니움) 스크롤(Scroll) 2021/01/01 - [개발자/파이썬] - 파이썬 (Selenium) 로딩까지 기다림 (feat. WebDriverWait) 2020/12/31 - [개발자/파이썬] - 파이썬 (Python) Selenium (기본, 네이버 로그인) 2020/12/30 - [개발자/파이썬] - 파이썬 웹스크래핑(web scraping)_2 2020/12/30 - [개발자/파이썬] - 파이썬 웹스크래핑(web scraping) 이전 글들에서 웹 스크래..

개발자/파이썬 2021.01.04

파이썬 셀레니움 (Selenium) headless

파이썬 셀레니움 (Selenium) headless 2021/01/02 - [개발자/파이썬] - 파이썬 Selenium (셀레니움) 스크롤(Scroll) 2021/01/01 - [개발자/파이썬] - 파이썬 (Selenium) 로딩까지 기다림 (feat. WebDriverWait) 2020/12/31 - [개발자/파이썬] - 파이썬 (Python) Selenium (기본, 네이버 로그인) 2020/12/30 - [개발자/파이썬] - 파이썬 웹스크래핑(web scraping)_2 2020/12/30 - [개발자/파이썬] - 파이썬 웹스크래핑(web scraping) 저번 글에서부터 웹 스크래핑을 할 때, 매번 브라우저를 띄우고 웹 스크래핑을 진행했는데 사실 이런 경우, 메모리도 더 잡아먹고, 속도도 좀 더 ..

개발자/파이썬 2021.01.03

파이썬 Selenium (셀레니움) 스크롤(Scroll)

파이썬 Selenium (셀레니움) 스크롤(Scroll) 2021/01/01 - [개발자/파이썬] - 파이썬 (Selenium) 로딩까지 기다림 (feat. WebDriverWait) 저번 글에서는 로딩시간을 위한 Waits에 대해서 이야기해봤다. 이번 글에서는 스크롤에 대해서 적어보려고 한다. 스크롤 (Scroll) 보통 웹페이지에서 한번에 모든 정보를 제공하지 않는다. 스크롤을 해야 그 아래의 정보까지 파싱할 수 있는 경우가 있는데, 이때 우린 스크롤(Scroll) 동작을 통해 아래의 정보까지 가져올 수 있다. ※ 지정한 위치로 스크롤 내리기 # 지정한 위치로 스크롤 내리기 # 모니터(해상도)의 높이인 900 위치로 스크롤 내리기 browser.execute_script("window.scrollTo..

개발자/파이썬 2021.01.02

파이썬 (Selenium) 로딩까지 기다림 (feat. WebDriverWait)

파이썬 셀레니움 로딩까지 기다림 Waits Selenium (feat. WebDriverWait) 2020/12/31 - [개발자/파이썬] - 파이썬 (Python) Selenium (기본, 네이버 로그인) 저번 글에서 Selenium의 사용방법에 대해서 글을 썼었다. 이번에는 웹 스크래핑을 하다보면 필요한 도구(?) 몇 가지에 대해 글을 써보려고 한다. WebDriverWait를 이용한 Explicit Waits 우리가 웹 스크래핑을 하다보면, 로딩시간이 있다. 즉, 어떤 페이지가 완전히 Load되기까지 일정 시간을 기다려야한다. ex) 비행기항공권(네이버 or 스카이스캐너 등등) (아래의 그림처럼) 완전히 페이지가 Load되고 나서 어떤 정보들을 긁어 올 수 있는데, 이때 사용되는 것이 Webdriv..

개발자/파이썬 2021.01.01

파이썬 (Python) Selenium (기본, 네이버 로그인)

파이썬 (Python) Selenium (기본, 네이버 로그인) 저번 글에서는 BeautifulSoup에 대해서 다루었다. 2020/12/30 - [개발자/파이썬] - 파이썬 웹스크래핑(web scraping) 2020/12/30 - [개발자/파이썬] - 파이썬 웹스크래핑(web scraping)_2 이번에 다룰 것은 Selenium인데 이게 진짜 찐이다. BeautifulSoup과는 다르게 동적인 부분을 처리할 수 있다. (입력, 버튼 클릭, 스크롤 등등) 또한 자바스크립트 렌더링도 지원되어서 더욱 편리하다. Selenium을 사용하기 위해서 그 전에 해야 할 작업들이 있는데, (참고로, 다들 크롬을 사용한다는 전제하에 진행한다.) 먼저, webdriver를 설치해야한다. 이를 위해서 크롬 버전을 확인..

개발자/파이썬 2020.12.31

파이썬 웹스크래핑(web scraping)_2

저번 편에선 requests, re, beautifulsoup 모듈들을 각각 어떻게 사용할 수 있는지 알아봤다. 이번엔 그 모듈들을 활용한 예제들을 한번 살펴보려고 한다. (feat. 나도코딩 채널: www.youtube.com/watch?v=yQ20jZwDjTE) 첫 번째 예제는 쿠팡에서 상품의 정보를 가져오는 것이다. import requests from bs4 import BeautifulSoup import re headers = {"User-Agent":"각자의 Useragent"} url = "https://www.coupang.com/np/search?q=%EB%85%B8%ED%8A%B8%EB%B6%81&channel=user&component=&eventCategory=SRP&trcid=&..

개발자/파이썬 2020.12.30