전체 글
-
[Selenium] 파이썬 셀레니움으로 웹사이트 캡쳐하기Python/크롤링 2024. 4. 19. 16:17
셀레니움으로 웹사이트 캡쳐하기 파이썬(Python)의 웹크롤링(Web Crawling) 작업을 위한 패키지 하면 가장 먼저 떠올릴법한 셀레니움(Selenium)은 단순 크롤링 이외에도 웹사이트 테스트, 자동화 업무 등 폭넓게 활용되고 있습니다. 이번에는 셀레니움을 이용해서 웹사이트의 특정 영역을 캡쳐하는 작업을 구현해 보도록 하겠습니다. 해당 기능은 screenshot_as_png 기능을 이용하면 간단합니다. 이번에는 구글 검색창을 png 파일로 저장하는 기능을 만들어보겠습니다. 위 화면에서 빨간색 네모로 표시된 부분을 캡쳐하고 싶다고 가정한다면, 셀레니움에서 흔히 사용하는 find_element 기능을 이용해서 영역을 선택해 주면 됩니다. 해당 영역은 XPATH가 /html/body/div[1]/div..
-
[Node.js] 자바스크립트로 파일 읽고 쓰는법 알아보기Node.js/자바스크립트 기초 2024. 4. 5. 15:54
자바스크립트를 이용해서 파일 읽고 쓰기 프로그래밍을 하다 보면 파일을 읽고 쓰는 작업이 빈번하게 일어납니다. 자바스크립트(JavaScript) 또한 예외는 아닌데요, 이번에는 자바스크립트에서 지원하는 파일 읽고 쓰기 방법에 대해 알아보도록 하겠습니다. fs.readFile()을 이용해 파일 읽기 Node.js 기준으로 파일 입출력을 설명해 보자면, fs 라고 하는 모듈의 readFile() 함수에서 텍스트 기반 파일의 읽기를 지원하고 있습니다. 매개변수로 파일 이름과 인코딩 형식만 지정해 주면 되니까 쓰기도 간편하지요. 자세한 사용 방법은 아래 코드를 참조해 주시기 바랍니다. // Import module const fs = require("fs"); const fsp = require("fs").pro..
-
[JavaScript] URL 인코딩, 디코딩 알아보기Node.js/자바스크립트 기초 2024. 4. 3. 15:20
자바스크립트에서 URL 인코딩, 디코딩 해보기 우리가 웹사이트를 접속할 때, 인터넷 브라우저에 URL(Uniform Resource Locator)이라고 하는 주소를 적어넣습니다. URL은 인터넷에서 웹 페이지, 이미지, 비디오 등 리소스의 위치를 가리키는 문자열이라고 정의할 수 있지요. 예를 들어서, 구글에서 안녕 이라는 말을 검색한다면 아래와 같이 표현할 수 있습니다. https://www.google.com/search?q=%EC%95%88%EB%85%95 URL의 구조 이 때, URL을 이루는 구성요소를 알아본다면 위 주소가 어떤 말을 의미하는지 바로 알 수 있습니다. URL의 구성요소는 크게 4가지로 나눌 수 있는데, 각각 Scheme(스키마), Authority(권한), Path(리소스 경로)..
-
[JavaScript] var, let, const의 차이를 이해하고 변수, 상수 선언하기Node.js/자바스크립트 기초 2024. 4. 2. 14:44
자바스크립트의 변수, 상수 선언하기 다른 프로그래밍 언어는 변수(variable)을 선언할 때, 원하는 변수 이름과 함께 자료형과 값을 명시하는 방식으로 선언합니다. 그런데, 자바스크립트(JavaScript)의 변수 선언은 ES6버전 들어서 약간 독특해진 구석이 있는데요, 이번에는 자바스크립트에서 이용할 수 있는 변수 또는 상수(constant) 선언에 대해 알아보도록 하겠습니다. 예를 들어, var, let, const 와 같은 표현 말입니다. 변수 변수는 연산에 사용되는 숫자 또는 문자열 등의 값을 담는 컨테이너라고 정의되어 있습니다. 이를 간단하게 설명하자면, 어떤 값이 있을 때 변수를 주소처럼 활용한다고 생각하면 이해하기 편할거예요. 자바스크립트 또한 변수를 활용할 수 있는데요, 자바스크립트에서 ..
-
[generative-ai] 구글 Gemini API로 자바스크립트 챗봇 만들기Node.js/자연어처리 2024. 4. 1. 09:18
Gemini API로 자바스크립트 챗봇 프로그램 만들기 대규모 언어 모델(LLM)의 발전으로 인해 누구나 챗봇을 만들 수 있는 시대가 되었습니다. 최근에는 프로그래밍 언어를 거의 알지 못한 상태에서도 다양한 API를 이용해서 챗봇 구현은 코드 몇 줄로 해결할 수 있는데요, 이번에는 구글에서 선보인 대화형 인공지능 모델 제미나이(Gemini) API를 활용해서 간단한 챗봇 프로그램을 만들어 보도록 하겠습니다. 웹사이트에서 바로 사용할 수 있도록 자바스크립트(JavaScript) 언어로 구현하였으며, 해당 자바스크립트 파일을 웹사이트 구성요소에 집어넣을 경우 웹앱을 구현할 수 있습니다. 제미나이 API 키 발급 [그림 1] Gemini API 키 발급 화면 제미나이 API를 이용하기 위해서는 API 키를 발..
-
[Puppeteer] 퍼페티어 사용법 및 크롤링하는 방법 알아보기Node.js/크롤링 2024. 3. 28. 10:52
Puppeteer 사용법 및 Chrome for Developers 웹사이트 크롤링하는 방법 알아보기 크롤링(Crawling)을 할 수 있는 도구라고 하면 대개 셀레니움(Selenium)을 떠올릴테지만, Node.js 기반의 퍼페티어(Puppeteer)라는 라이브러리를 사용할 수도 있습니다. 전자의 경우에는 C#, Rupy, JAVA, Python, JavaScript 언어를 지원하지만, 후자의 경우에는 자바스크립트만을 지원하는 라이브러리라는 차이점이 있지요. 그 외에도 소소한 차이점이 있지만, 대개 자바스크립트 개발자, 그중에서 크롬(Chrome) 웹브라우저를 주로 사용하는 사람이면 셀레니움보다는 퍼페티어를 사용하는 것을 선호하는 모양입니다. 이번에는 자바스크립트를 이용해서 퍼페티어를 설치하고, Chr..
-
[VSCode] 비주얼 스튜디오 코드로 파이썬 개발환경 구성하기Python/개발환경 2024. 3. 27. 09:12
비주얼 스튜디오 코드(VSCode)로 파이썬 개발환경 구성하기 요즘 프로그래머들 사이에서 인기 있는 통합 개발 환경(IDE)이라고 하면 비주얼 스튜디오 코드(Visual Studio Code)를 빼놓을 수 없습니다. 엄밀히 말해서 VSCode는 개발환경보다 단순 에디터 쪽으로 분류해야 하지만, 강력한 확장기능을 이용하면 메이저한 IDE보다 더욱 편한 개발환경 구성이 가능하지요. 이번에는 VSCode를 이용해서 파이썬(Python) 개발환경을 구현하는 방법에 대해 살펴보도록 하겠습니다. VSCode 설치 [그림 1] VSCode 공식 웹사이트 VSCode는 공식 홈페이지에서 손쉽게 다운로드할 수 있습니다. 다운로드 버튼만 누르면 설치 파일을 받을 수 있는건 물론이고, 많은 패키지 관리자에서 명령어만 입력하..
-
[scikit-learn] 의사결정나무(Decision Tree) 모델로 데이터 분류하기Python/기계학습 2024. 3. 18. 09:00
의사결정나무(Decision Tree) 모델로 데이터 분류하기 대표적인 기계학습 모델인 사이킷런(scikit-learn)에서는 데이터 분류를 위한 트리 모델을 지원하고 있습니다. 트리 모델이란, 의사결정나무에 기반한 비모수적 지도 학습 방법으로 다양한 if-else 조건문이 마치 나무처럼 배치되어 실제 데이터의 분류 기준을 정의할 수 있도록 구성하는 방식입니다. 의사결정나무 이번에는 트리 모델 중에서 의사결정나무 모델을 이용해 보려 합니다. 의사결정나무는 트리 모델의 가장 단순한 구현으로, 해당 모델의 장단점은 아래와 같습니다. 간단히 정리하자면, 직관적이라는 장점과 과적합에 취약하다는 단점이 있지요. [장점] 사람이 이해하기 간단하며, 모델을 시각화할 수 있습니다. 덕분에 화이트 박스 모델을 적용할 수..