웹 크롤링을 통한 데이터 수집 (Selenium) / NoSuchElementException
·
개발 | 프로젝트/Python
머신러닝을 위한 음성 데이터 수집을 위해 웹 크롤링을 진행하였습니다.  크롬에서 크롤링을 진행할 것이기 때문에 크롤링 전에 크롬 드라이버를 설치하고 가상환경에 셀레니움을 설치하였습니다. (크롬 버전과 동일한 드라이버 설치해야 합니다 !) 크롬 드라이버 다운 : https://googlechromelabs.github.io/chrome-for-testing/ 아나콘다에서 셀레니움 설치 - pip install selenium from selenium import webdriver from selenium.webdriver import ActionChainsfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.common.by impo..
[Python] execute() 함수 / exec()와의 차이 / cursor
·
개발 | 프로젝트/Python
execute() 함수는 execute()는 데이터베이스와 상호작용할 때 사용되는 함수이다. 주로 데이터베이스 커넥터 라이브러리(예: pymysql, sqlite3, psycopg2)에서 제공되며, SQL 쿼리를 실행하는 데 사용된다. ex) 데이터베이스에 SQL 쿼리를 보내어 데이터를 조회, 삽입, 수정, 삭제 등의 작업을 수행할 때 사용됨 사용 예시 (pymysql)import pymysqlconn = pymysql.connect(host='localhost', user='root', password='password', database='testdb')cursor = conn.cursor()# SQL 쿼리 실행query = "SELECT * FROM users WHERE username = %s"c..
[Python] 웹소켓 서버 / 클라이언트 구현 (WebSocket 라이브러리)
·
개발 | 프로젝트/Python
python은 웹소켓 개발을 위한 WebSockets 라이브러리를 지원한다. WebSocket 프로토콜은 클라이언트와 서버 간의 양방향 통신을 가능하게 하는 기술로, HTTP 통신의 한계를 넘어 지속적이고 실시간의 데이터 교환을 필요로 하는 애플리케이션에 적합하다. WebSockets 라이브러리는 이 프로토콜을 쉽게 사용할 수 있게 해주며, 비동기 I/O를 통해 고성능 통신을 구현할 수 있도록 도와준다.주요 기능간편한 서버 구축: WebSocket 서버를 쉽게 구축하고 실행할 수 있음비동기 지원: Python의 asyncio를 활용한 비동기 프로그래밍을 지원하여, 고성능 네트워킹 애플리케이션 개발이 가능클라이언트 연결 관리: WebSocket 클라이언트를 생성하고, 서버와의 연결을 관리할 수 있음메시지..
[Django] 장고의 MVT 패턴 (Model-View-Template)
·
개발 | 프로젝트/Python
장고는 기본적으로 MVT 패턴에 따라 애플리케이션을 개발하도록 유도합니다. MVT 패턴 데이터(Model), 사용자 인터페이스(View), 데이터를 처리하는 로직(Controller)을 구분해서 한 요소가 다른 요소들에 영향을 주지 않도록 설계하는 방식을 의미합니다.  이런 방식으로 개발을 진행하면 UI 디자이너는 데이터 관리나 애플리케이션 로직에 신경 쓰지 않고도 화면 UI를 설계할 수 있고 로직이나 데이터를 설계하는 개발자도 화면 디자인은 디자이너에게 맡기고 자신의 설계 및 개발 업무에만 집중할 수 있습니다.  장고 프레임워크에서는 View를 Template, Controller를 View라고 표현하여 MVT 패턴이라고 합니다.각각의 역할은 다음과 같습니다.Model -  데이터베이스에 저장되는 데이..