Python 25

[구글 API] 구글 API를 통해 유튜브를 검색해보자 -2

이전 포스트에서 대시보드가 보였다면, 이젠 사용자 인증정보를 생성해보자. 당장은 Youtube API 만 사용하려고하니, API 선택에서 위와같이 유튜브를 찾고, 공개데이터를 선택한 뒤, 다음단계로 가자. 다음으로가면, API 키 제한을 하라고한다. KEY 값이 외부로 유출되면, 연결된 결제수단으로 과금이 발생할 수 있으니 제한이 필요하다는것. 이름도 따로 정할 수있는데, 난 귀찮은 관계로 넘어간다. 관리해야하는 API가 여러개라면 고려할만한 옵션이다. 저장을 누르고 API를 복사해놓자. 트위터와는 다르게 KEY만 가지고있으면 접근이 가능하다. pip install google-api-client 위 명령어로 google client를 설치하면 일단 사용준비는 끝. from googleapiclient ..

python/크롤링 2022.01.25

[구글 API] 구글 API를 통해 유튜브를 검색해보자 -1

이전 트위터 API 직후에 작성한다는것이 조금 늦어졌다. 구글은 다양한 API를 제공한다. 구글에서 지원하는 어플리케이션의 API나 지도를 사용할 수 있다. 우선, 트위터와 마찬가지로 개발자신청을 통해 권한을 얻어야하는데, https://console.cloud.google.com/getting-started 위 링크를 따라가면 이런 화면이 나온다. 이메일 업데이트는 빼고 위의 두개만 체크해도 정상적으로 넘어간다. 최상단에 제품/리소스검색창에 youtube data API를 검색해보자. 검색해서 나온 결과중에 맨 위에있는 Youtube Data API v3를 누르면 위와같은 화면이 나오고, 사용을 눌러서 API를 등록하자. 인고의 시간을 버텨내면 위와같은 대시보드가 보인다. 바로 사용할 수는 없고, 사용..

python/크롤링 2022.01.25

[파이썬 기초] 반복문을 뜯어보자. ( feat.왜 i? )

파이썬을 처음 시작할 때, 배우는 과정중에 반복문이 있다. 파이썬에선 다음과 같이 사용한다. for i in range(10): print(i) 따라하다보면 참 재미있다. 초심자의 입장에서 의문이 들만한 점은 왜 모든 기초 반복문에서 i를 사용할까? 이다. 왜 i를 넣으면 되고 다른건 안되나요? 등등 물어보는 일이 많다. 여기서 i는 반복자라고 하는데, i는 단순히 변수의 역할을 할 뿐, 특별히 큰 의미가 있는건 아니다. 즉 사용자에 따라, 데이터 타입에따라, 반복할 객체의 종류에 따라 다르게 설정할 수 있다. 예를들어, 위의 예제에서는 반복문이 한눈에 불 수 있을정도로 짧지만, 반복문이 길어진다면? 반복문 안에 또 반복문이 생기는 경우도 있을 수 있다. 만약 점수를 담은 리스트 scores = [100..

python/기초 2022.01.05

[파이썬 기초] if ~ else

얼마 전부터 지식인 답변을 다는 취미가 생겼다. 대놓고 이런 기능 짜달라부터 코드 에러잡아달라는 것 까지. 조건문을 한번 다뤄보자. if 만약~ 이라는 뜻이다. 뒤에 오는 값이 True or False인지를 판별해서 참이면 아래에 있는 코드를 실행, 거짓이라면 다음으로 진행되는 함수이다. 거짓일 때만 실행시킬 코드는 다음과같이 만든다. else 참이면 if아래 구문을 실행시키고 거짓이면 else아래 구문을실행시킨다. if ~ else만 사용하면 너무 이분법적인 사고같다. 그럴 때 사용하는 elif 처음 if문은 거짓이지만 새로운 조건을 만들 때 사용한다. 예시로 성적을 가지고 등급을 나누는 코드를 짜보자. 90~100 : A 70~89 : B 50 ~ 69 : C ~49 : D def grade_calc..

python/기초 2021.11.23

[파이썬 웹] flask를 이용한 웹페이지

https://github.com/giho5374/flask_web 간단하게 웹페이지를 만들어 보았다. registerform은 https://velykitty-itnote.tistory.com/43 여기에 있는 폼을 조금 수정했다. db설계 -> 회원가입 -> 로그인 -> 글쓰기등의 기능만 구현한 상태이며, html 예쁘게 꾸며보겠다고 시도하다 포기하고 초라한 외형만 구현했다. node나 vue같은 툴을 다룰 줄 알았으면 api형태로 만들었겠지만, 아직 가야할 길이 멀다. 구조는 대강 아래와 같다. 실행파일에는 config와 세션 만료의 기능만 담겨있고, fun에 uri, db_model에 모델 구성정보가 정의되어있다. 앞선 포스트에서 언급했듯, fun은 blueprint를 사용했다. # app.py ..

python/웹 2021.10.22

[파이썬 기초] Class / 함수 (args,kwargs)

모든 언어에서 클래스 객체 생성과 함수선언은 매우매우매우 중요하다. 여러분이 클래스를 얼마나 이해하고 있는지는 잘 모르겠으나, 간략하게 소개하고 지나간다. 다 알고 있다면 아래로 내려 본문으로 이동하자. Class class 으로 선언이 가능하다. 처음 클래스에 대한 설명을 들었을 때, 보통 붕어빵으로 예시를 많이 하는데, 그땐 잘 이해가 안갔다. 근데 그만큼 확실한 예시도 없는 것 같다. 혹시 메이플스토리나 기타 RPG게임을 해 본적이 있다면 그걸 예시로 들어보자. 클래스는 함수와 마찬가지로 그 자체로는 아무런 기능이 없다. 유명한 시 구절에도 있지않은가. 내가 그의 이름을 불러주었을 때 그는 나에게로 와서 꽃이 되었다. 부르기 전까진 아무것도 하지 않는다. 모자 상의 무기 하의 신발 대충 이렇게 장비..

python/기초 2021.10.13

[python 기초] bytesIO를 메모리로 읽어서 해체하자.

s3에서 로컬 다운로드없이 파일을 읽으려고한다. s3가 아니더라도, bytes 형태를 이미지로 바꿔보자 귀여운 고양이사진이다. s3에 이 사진이 있다고 가정하고, bytes로 읽어보자. boto3가 설치되어있다는 가정 하에 진행하면, 우선 s3에 접속해야한다. s3 = boto3.resource(aws_access_key_id = 'YOUR_KEY', aws_secret_access_key = 'YOUR_SECRET_KEY', #endpoint_url='https://kr.object.ncloudstorage.com', #정말 만약에 ncp를 사용하고있다면, 위의 주석을 해제하자 service_name = 's3') bucket = s3.Bucket('your_bucket') 제대로 입력했다면 에러없이 ..

python/기초 2021.10.12

Flask CORS

Flask만 단독으로 사용하여 웹을 구성하면 사실 의미없는 기능이다. 하지만, 대부분의 프로젝트가 그렇듯 여러 툴을 사용하여 구성하는 경우가 많으므로 CORS를 설정해야 한다. 내 경우에는 Flask로 만들어진 서버에 Vue로 프론트를 구성하였는데, api 호출이 안된다며 cors를 설정해달라는 요청을 받았었다. CORS는 무엇인가? https://evan-moon.github.io/2020/05/21/about-cors/ 이 포스트에 참 잘 설명되어있다. 간단하게 요약하자면 flask 에서 보내는 api를 외부에서 호출할 때, 신뢰가지않는 도메인이라고 판단해서 받아주지 않는다고 생각하면 된다. 왜 신뢰할 수 없는 도메인을 차단하는지는 위의 링크에 나타나있다. 그럼 flask에서 cors를 어떻게 적용시..

python/웹 2021.09.27

[파이썬 크롤러] 나는 로봇이 아닙니다. header

2021.07.21 - [python/크롤링] - [파이썬 크롤러] 웹 크롤러 만들기 이전 게시글에서 잠깐 언급했듯, 각 사이트별로 robots.txt라는 항목이 존재한다. 왼쪽은 https://google.com/robots.txt 의 결과이다. 간단하게 Allow 는 크롤링 허용, Disallow는 허용하지 않는다는 의미인데, 무엇을 허용하고 허용하지 않는다는 말일까? https://searchadvisor.naver.com/guide/seo-basic-robots 친절하게 설명되어있다. 구글은 크롤러에 상당히 엄격하다. 일부만 캡쳐했는데도 Disallow가 상당하고, User-agent 가 * 즉 모든 유저에 대해서 적용된다. 우리도 종종 구글에서 일정한 간격으로 비슷한 패턴을 가지고 검색하게되면 ..

python/크롤링 2021.09.09
반응형