반응형 전체 글86 [Flask] 직렬화 오류 raise TypeError(f"Object of type {type(o).__name__} is not JSON serializable") TypeError: Object of type Cursor is not JSON serializable 으이구! 커서 객체를 json으로 바꾸려니까 에러가 나쥬! from flask import Flask, jsonify, request from pymongo import MongoClient collection.find()은 컬렉션에서 조건 없이 모든 문서를 조회하는 메서드다. 이를 호출하면 커서(Cursor) 객체가 반환 되는데, 커서는 실제 데이터를 포함하고 있는 반복 가능한 객체다. list(collection.find())을 사용하면 커서 객체를 리스트로 .. 2023. 7. 3. [Flask] Blueprint로 라우터 관리하기 Blueprint는 Flask 애플리케이션의 라우트와 관련된 기능을 모듈화하고 조직화하는 데 사용된다. 아래는 Flask 앱과 라우터를 분리하여 구축하는 예시 코드입니다. app.py from flask import Flask from routers import api_blueprint app = Flask(__name__) app.register_blueprint(api_blueprint) if __name__ == '__main__': app.run() routers.py from flask import Blueprint api_blueprint = Blueprint('api', __name__) @api_blueprint.route('/') def index(): return 'Hello, Worl.. 2023. 7. 3. [Python + Flask + MongoDB] REST API 구축하기 Python에서 Flask와 pymongo를 사용하여 MongoDB와 연동된 REST API 서버를 구축하는 방법은 아래와 같습니다. 1. 필요한 패키지 설치하기: pip install flask pymongo 2. Flask 애플리케이션 작성하기: from flask import Flask, jsonify, request from pymongo import MongoClient app = Flask(__name__) client = MongoClient('mongodb://localhost:27017') db = client['mydatabase'] collection = db['mycollection'] # GET 메서드로 모든 문서 조회 @app.route('/api/documents', metho.. 2023. 7. 3. Python 기반 웹 프레임워크 Flask와 Django 비교 Flask와 Django는 모두 파이썬 기반의 웹 프레임워크이지만, 목표와 사용 사례에 따라 선택할 수 있습니다. 다음은 Flask와 Django의 비교 요소입니다: 1. 목적: - Flask: 작고 간단한 프로젝트 또는 마이크로서비스 개발에 적합합니다. 미니멀한 구조를 가지고 있으며 필요한 기능을 선택적으로 추가할 수 있습니다. - Django: 대규모 및 복잡한 웹 애플리케이션 개발에 적합합니다. 전체 스택의 기능을 갖추고 있으며 관리자 인터페이스, 인증, 보안 등의 기능을 내장하고 있습니다. 2. 구조: - Flask: 미니멀한 프레임워크로서 핵심 기능만 제공하고, 개발자가 원하는 대로 구조를 설계할 수 있습니다. - Django: 더 큰 프레임워크로서, 표준화된 디렉토리 구조와 컴포넌트 기반 아키.. 2023. 7. 2. Flutter 유용한 Extensions(확장팩) 추천(Flutter Widget Snippets, Flutter Tree) Flutter Widget Snippets 1. Visual Studio Code 열기: - Flutter 프로젝트를 개발 중인 Visual Studio Code를 엽니다. 2. Snippet 확장 설치: - Visual Studio Code의 왼쪽 사이드바에서 Extensions(확장) 아이콘을 클릭합니다. - 검색 상자에 "Flutter Widget Snippets"를 입력하여 해당 확장을 찾습니다. - "Flutter Widget Snippets" 확장을 선택하고 "Install" 버튼을 클릭하여 설치합니다. 3. Snippets 사용: - Flutter Widget Snippets가 설치되었으면, Flutter 코드 작성 중에 위젯을 빠르게 생성할 수 있습니다. - Dart 파일에서 위젯을 생성하.. 2023. 7. 2. Flutter 첫 시작! 설치부터 실행까지! Flutter로 프로젝트를 시작하는 방법은 다음과 같습니다: 1. Flutter SDK 설치: - Flutter 개발을 위해 먼저 Flutter SDK를 설치해야 합니다. 아래 링크에서 윈도우용 Flutter SDK를 다운로드할 수 있습니다: https://flutter.dev/docs/get-started/install/windows 2. Flutter 설치 경로 설정: - 다운로드한 Flutter SDK 압축 파일을 원하는 디렉토리에 압축 해제합니다. - 압축 해제한 디렉토리의 경로를 시스템 환경 변수 PATH에 추가합니다. 이렇게 하면 터미널에서 `flutter` 명령어를 실행할 수 있게 됩니다. 3. Flutter 및 Dart 플러그인 설치: - Visual Studio Code에서 Flutter.. 2023. 7. 1. Selenium + MongoDB 크롤링한 데이터 저장하기 파이썬에서 MongoDB에 리스트를 삽입하는 방법은 다음과 같습니다. 1. pymongo 라이브러리 설치 pymongo는 파이썬에서 MongoDB를 다루는 데 사용되는 공식 MongoDB 드라이버입니다. 설치는 pip 명령어를 사용하여 다음과 같이 수행할 수 있습니다. pip install pymongo 2. MongoDB 관련 클래스를 만듭니다. from pymongo import MongoClient class MongoDB: def __init__(self): # MongoDB에 연결 self.client = MongoClient('localhost', 27017) # 데이터베이스 선택 (없는 경우 자동으로 생성됨) self.db = self.client['test'] # 컬렉션 선택 (없는 경우 .. 2023. 7. 1. Python + Selenium 도메인 여러 개 크롤링하기 도메인 여러 개를 리스트에 넣어두고 여러 사이트를 순차적으로 크롤링할 수 있는 방법에 대해 설명해보도록 하겠습니다. url에 따라 선택자를 다르게 설정하여 코드를 작성할 수 있습니다. 아래 코드를 참조해주세요. from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import re driver = webdriver.Chrome() urls = ['https://example.com/a', 'https://exam.. 2023. 6. 30. Python + Selenium 특정 요소가 로드된 후 원하는 데이터 가지고 오기(선택자 종류 소개) 2023.06.29 - [공부기록/파이썬] - Python + Selenium으로 크롤링 시작하기(예제 있음) 파이썬에서 셀레니움을 시작하는 방법은 위 글을 참조해주세요. * WebDriverWait 클래스와 expected_conditions 모듈을 사용하여 특정 요소가 로드된 이후 원하는 데이터를 가지고 올 수 있습니다. * 아래 코드를 참조해주세요.from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 웹.. 2023. 6. 30. mssql server 복원시 오류 Restore failed for Server '*'. (Microsoft.SqlServer.SmoExtended) mssql server 복원시 아래 오류 해결방법(윈도우 기준) Restore failed for Server '*. (Microsoft.SqlServer.SmoExtended) 윈도우 서비스에 들어가서 SQL Server를 중지 후 다시 시작한다.Microsoft SQL Server Management Studio를 껐다 킨다. 그래도 똑같은 오류가 난다면 SQL을 사용하고 있는 프로그램을 모두 종료한다. 나같은 경우엔 이클립스를 끄니까 제대로 동작했다. 2023. 6. 29. Python + Selenium으로 크롤링 시작하기(예제 있음) 1. 셀레니움 설치 먼저, Python에 셀레니움을 설치해야 합니다. 아래 명령을 사용하여 셀레니움을 설치할 수 있습니다.pip install selenium 2. 웹 드라이버 다운로드 셀레니움은 웹 브라우저를 제어하기 위해 웹 드라이버를 사용합니다. 웹 드라이버는 사용할 웹 브라우저에 따라 다릅니다. 가장 흔한 크롬 드라이버를 설정해보도록 하겠습니다. https://sites.google.com/chromium.org/driver/downloads ChromeDriver - WebDriver for Chrome - DownloadsCurrent Releases If you are using Chrome version 115 or newer, please consult the Chrome for Test.. 2023. 6. 29. Scrapy 프록시 설정 및 오류 해결 방법 Crawled (404) <GET https://domain/robots.txt> (referer: None) 1. 프록시 미들웨어 설치 프록시 서버를 사용하기 위해 scrapy-proxies 패키지를 설치합니다. 명령 프롬프트(Windows) 또는 터미널(macOS/Linux)에서 다음 명령어를 실행합니다. pip install scrapy-proxies 2. settings.py 파일 수정 Scrapy 프로젝트의 settings.py 파일을 열고 다음과 같이 설정을 추가합니다. DOWNLOADER_MIDDLEWARES = { 'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 100, # 기본 프록시 미들웨어 비활성화 'scrapy_proxies.RandomProxy': 200, # 프록시 미들웨어 활성화 } PROXY_LIST = 'path/to/p.. 2023. 6. 28. 이전 1 2 3 4 5 6 ··· 8 다음 728x90 반응형