본문 바로가기
반응형

분류 전체보기514

[파이썬을 이용한 데이터베이스 처리] 2. 클래스란? 인스턴스란? 클래스(Class)란? 하나의 형식, 템플릿 어떤 물체(객체)의 특징(필드 또는 속성)과 행동(메소드, 연산 등의 기능) 등 추상적인 특성을 정의. 클래스를 어떤 것의 특성을 설명하는 설계도 혹은 공장이라고도 이야기함. 예를 들어, 개 라는 클래스는 품종 또는 털색깔(특성), 혹은 짖거나 앉는 행위(행동) 등 개들이 가지는 특성을 가짐 인스턴스(instance)란? 클래스 안에서 인스턴스 혹은 특정 객체를 가질 수 있음. 인스턴스란 실행 중 실제로 생성된 객체를 의미. 프로그래머의 용어를 따르면, “래씨"라는 객체는 “개”라는 클래스의 한 인스턴스임. 특정 객체의 특성들을 모아놓은 것을 상태라고 함. 객체는 클래스 안에서 정의된 상태와 행동으로 구성됨. 클래스의 구조 메서드 : 클래스 내에 정의된 기능,.. 2021. 5. 18.
[파이썬을 이용한 데이터베이스 처리] 1.객체(object)란? • 프로그램은 서로 협력하는 여러 개의 객체로 구성 • “전체 프로그램”이 아닌 각각의 객체가 마치 프로그램 안의 “섬”같이 서로 협력하여 작동 • 프로그램은 함께 실행되는 여러 개의 객체로 구성 - 객체는 서로의 기능들을 활용 각 객체들이 서로 협력하여 하나의 프로그램을 이룬다. 즉, 프로그램 = 여러 객체로 구성됨 객체란? 하나의 자족적인 코드와 데이터 클래스에 속한 하나의 인스턴스 객체의 장점? 세부사항을 감춤으로써 세부사항을 무시할 수 있게 해줌 객체 지향? 객체 지향 접근의 요점은 문제를 이해가능한 작은 문제로 분할하여 접근 (분할 정복 divide and conquer) 2021. 5. 18.
requests와 urllib.request의 차이는 뭘까? requests urllib.request 데이터를 보낼 때 딕셔너리 형태로 보낸다 데이터를 보낼 때 인코딩하여 바이너리 형태로 보낸다 없는 페이지를 요청해도 에러를 띄우지 않는다 없는 페이지를 요청해도 에러를 띄운다 requests와 urllib.request 간에 큰 차이가 없어보입니다만 대체로 requests를 많이 쓰는 것 같네요. 저도 requests.get() 방법이 HTTP method와 연관되어 있으니 직관적으로 이해하기 쉽다고 느꼈습니다. 참고로 requests.get()을 통해 받아온 객체 안에 무엇이 있는지 보기 위해선 아래 명령어를 사용해서 확인하면 됩니다. dir(req) # req.text https://moondol-ai.tistory.com/238 파이썬 크롤링 request.. 2021. 5. 16.
크롤링 과정에서 나타난 HTTPSConnectionPool(URL, port=443) 에러 res = requests.get('URL') 위 코드를 입력했더니 에러가 발생했다. 에러명 HTTPSConnectionPool(host='www.work.go.kr', port=443): Max retries exceeded with url: /empSpt/empNews/retrieveEmpNewsList.do?pageIndex=1&sortOrderField=dtm&sortOrderBy=DESC&newsId=&searchRegionCd=&searchStdt=&searchEndt=&searchKwrd=&pageUnit=50 (Caused by SSLError(SSLError(1, '[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_.. 2021. 5. 15.
datetime 모듈로 날짜/시간 처리하기 https://www.daleseo.com/python-datetime/ [파이썬] datetime 모듈로 날짜/시간 처리하기 Engineering Blog by Dale Seo www.daleseo.com 2021. 5. 15.
[문제해결] csv 파일의 한글이 깨진다면? (csv 포맷 변경, 통일시키는 방법) 분명히 utf-8로 인코딩해서 csv파일을 저장했는데이렇게 한글이 깨지고 있다. 하지만 메모장으로 보면 또 잘나온다. 해결방법은 2가지가 있다.1. csv파일을 ANSI 포맷으로 바꿔서 저장하기엑셀로 파일 열기 > 다른이름으로 저장 > 저장 버튼 옆의 인코딩 > ANSI > 저장 2. 엑셀에서 파일을 열때 ANSI가 아닌 utf-8로 열기엑셀 열기 > 상단의 데이터 > 텍스트 클릭 > 한글 깨지는 csv 파일 선택 유니코드 선택 결과화면 2021. 5. 4.
[beautifulsoup] 네이버 모바일 검색 결과를 크롤링한 뒤, csv 파일로 저장하자. 1. 모바일 HTML 태그를 살펴보자 제목이 a태그에 속해있다 2. URL을 살펴보자 URL을 보면 검색어가 쿼리스트링 형태로 나타나있다. 이 URL을 그대로 가져와 복붙하면 다음처럼 아스키코드로 나타난다. 검색어는 query= 문 뒤에 나오며 아스키 코드로 나타난다는 점에 주목하자. query값에 search 변수를 삽입하여 입력한 검색어에 해당되는 데이터를 불러오도록 만들자. 여기서! URL은 아스키코드 형태로 나타나야하므로 아스키코드로 변환시켜주는 quote_plus를 활용하여 quote_plus(search) 를 입력하자. 3. 크롤링 시작하기 html 변수 = 링크를 읽어들인다. soup 변수 = html태그를 저장 html 변수에서 html만을 저장한다. total 변수 = 클래스명 api_t.. 2021. 5. 4.
[beautifulsoup, selenium] 인스타그램 이미지 크롤링해보자! 1. 사전작업 크롬브라우저 버전 체크하기 크롬 브라우저 > 설정 > 좌측하단의 크롬 정보 클릭해서 확인 이제 버전에 맞는 크롬 드라이버를 하단의 사이트에서 다운로드받자. ChromeDriver - WebDriver for Chrome - Downloads Current Releases If you are using Chrome version 91, please download ChromeDriver 91.0.4472.19 If you are using Chrome version 90, please download ChromeDriver 90.0.4430.24 If you are using Chrome version 89, please download ChromeDriver 89.0.4389.23 If y.. 2021. 5. 4.
[장고 실전4] 리뷰웹 3. API 가져오기 API 이용방법은 API 다큐먼트를 보고 따라하는 것을 익히면 된다. 1. 사이트로 이동 영화 - Search API 영화 NAVER Developers - 검색 API 영화 검색 개발가이드 검색 > 영화 네이버 영화 검색 결과를 출력해주는 REST API입니다. 비로그인 오픈 API이므로 GET으로 호출할 때 HTTP Header에 애플리케이션 등록 시 developers.naver.com 2. API 신청하기 API를 신청하면 하단처럼 아이디와 비밀번호를 준다. 4. 다시 검색창으로 이동해서 다큐먼트를 보자 위 2가지 포맷 중 더 자주 쓰이는 JSON으로 GET요청을 보내자. 5. 요청변수 살펴보기 기생충을 검색하고 싶다면 다음처럼 JSON포맷에 GET요청을 보낸다. 드라마 장르를 검색하고 싶다면 위.. 2021. 4. 21.
[장고 실전4] 소셜로그인 소셜 로그인 구현 pip install django-allauth 설치 django-allauth로 가보자 django-allauth.readthedocs.io/en/latest/installation.html Installation — django-allauth 0.43.0 documentation Post-Installation In your Django root execute the command below to create your database tables: Now start your server, visit your admin pages (e.g. http://localhost:8000/admin/) and follow these steps: Add a Site for your domain,.. 2021. 4. 12.
[장고 실전4] 리뷰웹 2. MariaDB 연동하기 (SecretKey 외부파일 만들기) 먼저 이전 커뮤니티 프로젝트(1~8단계)를 그대로 가져와서 활용한다. 1. 가상환경 설치 2. 가상환경 실행 3. 장고 설치 4. 실행 에러 발생 : Auto-created primary key used when not defiing a primary key type, by default 'django.db.models. AutoField'. 해결 방법 : 0ver-grow.tistory.com/978 5. mariaDB를 활용하기 위해 터미널 창에 하단 명령어 입력 $ pip install mysqlclient settings.py 그런데 여기서 깃허브 업로드시 user, Password는 노출되면 안되기에 my_settings.py파일에 작성한 뒤, 외부에서 import해야한다. 특히나 서비스할 웹이.. 2021. 4. 9.
[에러 해결] Auto-created primary key used when not defiing a primary key type, by default 'django.db.models.AutoField'. 에러명 Auto-created primary key used when not defining a primary key type, by default 'django.db.models.AutoField'. 해결방법 settings.py파일에 추가 DEFAULT_AUTO_FIELD='django.db.models.AutoField' 참고 Auto-create primary key used when not defining a primary key type warning in Django I just updated my python from 3.9.1 to 3.9.4. When I tried to run the server. The console gave me a warning for this: WARNINGS:.. 2021. 4. 9.
[장고 실전4] 리뷰웹 1. MariaDB 연동하기 mariadb.org/download/ Download MariaDB Server - MariaDB.org REST API MariaDB Repositories Release Schedule Reporting Bugs … Continue reading "Download MariaDB Server" mariadb.org 다운로드한 버전은 : MariaDB Server 10.5.9 설치확인하기 윈도우 > MySQL Client MariaDB와 함께 설치된 HeidiSQL DBClient 프로그램 어떤 DB가 있고 어떤 테이블이 있는지 확인할 수 있다. 신규 DB를 만들어보자 2021. 4. 9.
[장고 실전3] 8. 커뮤니티 : 게시글 페이지만들기 다음처럼 입력하면 1페이지로 가도록 만들자 url?page=1은 딕셔너리 형태{page:1}로 되어있다.메인앱 > views.pyfrom django.core.paginator import Paginator # 게시글목록 페이지. 객체 목록을 끊어서 보여줌 def home(request) : # 글목록 출력 # posts는 쿼리셋 객체 목록 # posts = Post.objects.filter().order_by('date') # models.py의 date 오름차순 posts = Post.objects.filter().order_by('-date') # models.py의 date 내림차순 # posts = Post.objects.all() # 게시글 목록 paginator = Paginator(pos.. 2021. 4. 9.
[장고 실전3] 7. 커뮤니티 : 회원가입 accounts 앱 > login.html 프로젝트 > urls.py accounts 앱 > views.py가입 기능 함수 메인앱 > 템플릿 > registe.html 다음 화면을 표시한 것처럼 수정하자 메인앱 > register.html사용자의 입력값을 받는 방식은 3가지 1. html태그2. django form3. django model form 지금까지 form은 django model form으로 구현했으나이번에는 html태그로 구현. {% csrf_token %} accounts 앱 > views.pyfrom ~ User 가져옴 유저객체에 데이터를 추가하므로 enw_user 새로운 유저 객체 만들기 # 가입 def signup(request): if request.method == "POST".. 2021. 4. 6.
[장고 실전3] 5. 커뮤니티 : 템플릿 가공 getbootstrap.com/docs/5.0/customize/color/ Color Bootstrap is supported by an extensive color system that themes our styles and components. This enables more comprehensive customization and extension for any project. getbootstrap.com 위 코드를 참고해서 원하는 색상으로 바꿔보자 초록색으로 바꿀것이므로 색상명은 success 변경할 색상은 side바 side바의 class명을 검색하자 현재는 파랑색(primary)가 들어가있는데 이를 민트색상(info)로 수정한다 수정된 화면 index.html 수정하기 {% extends .. 2021. 4. 3.
쥬피터 노트북 확장팩 설치하기(table of Contents 사용하기). Jupyternotebook extentions 1. A,B 코드 중 하나를 cmd에 입력해서 설치 A코드주피터 확장팩 설치 후 pip install jupyter_contrib_nbextensions 주피터 노트북 홈 디렉토리에 설치하기 ! jupyter contrib nbextension install --user B코드pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install 설치 후 jupyternotebook re-launch하면 다음 처럼 나타난다. 2. 체크 표시를 해제한다. 3. table of contents를 검색하고 체크표시한다. 4. 파일을 실행해서 들어가면 다음처럼 나타난 것을 확인할 수 있다. 2021. 4. 2.
[장고 실전3] 4. 커뮤니티 : 로그인, 로그아웃 로그인/로그아웃계정관리 위한 앱 설치$ python manage.py startapp accounts 로그인 기능 추가하기 ※ POST 방식은 {% csrf_token %} 보안 설정이 무조건 되어있어야 한다. from django.shortcuts import render, redirect from django.contrib import auth # login,out을 위해 필수 def login(request) : # request == POST # Login if request.method == "POST" : username = request.POST["username"] password = request.POST["password"] user = auth.authenticate(request, .. 2021. 4. 1.
반응형