Study/Python

Study/Python

네이버 Clova AI OCR API를 사용해보자. (2)

API 예제 코드 API 통신을 테스트하기 위해 document를 참고하자. https://guide.ncloud-docs.com/docs/ko/clovaocr-overview CLOVA OCR 개요 guide.ncloud-docs.com https://api.ncloud-docs.com/docs/ai-application-service-ocr-ocr CLOVA OCR Custom API api.ncloud-docs.com 두 번째 링크의 Custom API 탭에 가면 각 언어 별 호출 예제 코드가 존재한다. 간단한 파이썬 코드를 통해 API 호출을 진행해 보았다. import requests import uuid import time import json api_url = 'YOUR_API_URL' s..

Study/Python

네이버 Clova AI OCR API를 사용해보자. (1)

이번에 학교 해커톤에 참여하면서 Clova AI에서 제공하는 OCR 기술의 API를 연동해 프로젝트를 구성했다. 따라서 OCR API를 사용하기 위해 처음으로 네이버 클라우드에 가입해, 연동해 보았는데, 사용 방법을 기록해두려 한다. 네이버 클라우드는 가입되었다고 가정하고 진행해보겠다. CLOVA OCR, API Gateway 신청 먼저 Clova에서 서비스 사용 신청을 해주어야 한다. https://www.ncloud.com/product/aiService/ocr NAVER CLOUD PLATFORM cloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology Certificat..

Study/Python

[Python] 파이썬 코딩테스트 시간 단축하기

입출력 stdin 사용하기 input = __import__('sys').stdin.readline 해당 코드를 통해 입력받는다면 빠른 입력을 받을 수 있다. 반복문 for i in list: arr = [1, 2, 3, 4] for i in range(len(arr)): print(arr[i]) # 직접 접근 for i in arr: print(i) 리스트의 원소를 순회할 때 인덱스가 아닌 직접 접근한다면 시간을 단축할 수 있다. (인덱스가 필요없을 때 사용하면 유용하다.) 아는대로 추가 예정...

Study/Python

[Selenium] 페이지를 스크롤하며 무한 크롤링 하기

이번에는 페이지 스크롤 기능을 사용하여 로딩되는 대상들을 크롤링해 보았다. 생각보다 뜻대로 되지 않아 오래 걸렸다.. 스크롤 방법 스크롤 방법에는 간단하게 3가지 방법이 있다고 한다. 1. 페이지의 높이를 계산해서 최하단으로 이동하는 방법. 2. 키보드의 PAGE_DOWN이나 END, 아래 화살표 키를 반복적으로 눌러 페이지를 내려가는 방법 3. ActionChains의 move_to_element를 이용하여 하단의 요소로 이동하는 방법 1번은 로딩시간이 걸릴 때 오류가 생길 수 있기 때문에 시간 텀을 주어야 한다. 3번은 크롤링할 대상인 페이지에서 최하단의 요소를 찾기 힘들었다.. 따라서 2번의 방법으로 구현해 보았다. from selenium.webdriver.common.keys import Key..

Study/Python

Selenium을 활용한 동적 크롤링 링크 주소 가져오기

이전에는 크롤링 대상 태그를 찾고, 해당 태그의 Text 값을 불러왔다. 이번에는 Text가 아닌 크롤링한 태그의 속성값을 불러오는 방법을 정리하려 한다. 1. 상품 이동 태그 찾기 네이버 도착 보장 서비스에서는 해당 상품의 이미지, 가격 등 어느 부분을 클릭해도 해당 상품의 자세한 링크로 이동할 수 있다. 링크로 이동되는 html 태그는 a태그를 사용한다. 따라서 a태그를 가진 부분의 셀렉터를 찾아주면 된다. a태그를 Control + SHIFT + C 를 사용해서 찾아주었다. 우측의 html 문서를 보면 저번에 찾아두었던 ul 태그부터 ul > li > div > a 경로에 a태그가 존재하는 것을 확인할 수 있다. 따라서 저번에 찾아둔 경로에서 ul > li > div > a 경로를 셀렉터로 지정해 ..

Study/Python

Selenium을 활용한 네이버 쇼핑 품목 동적 크롤링

이전 게시물에서 기본 환경 세팅을 완료했다. 이번에는 셀레니움을 활용해서 최근 네이버에서 새롭게 시작한 서비스인 도착 보장 서비스의 인기 품목과 가격을 크롤링해보자. 1. 크롤링할 태그 찾기 크롤링을 하기 위해서는 원하는 품목의 위치를 찾아주어야 한다. 먼저 네이버 쇼핑 실시간 도착보장 홈페이지를 들어가 보자. 다음과 같이 품목들이 나열되어 있고, 스크롤을 하게 되면 더 많은 품목이 로드된다. 나는 css_selector를 통해 크롤링할 품목을 검색해 보았다. 먼저 F12를 통해 개발자 도구를 열어준다. 다음과 같이 개발자 도구 창을 뜬다면 크롤링할 요소를 찾아줄 도구를 선택한다. 우측 개발자 도구의 최상단 가장 왼쪽의 마우스 모양의 아이콘을 클릭해 주면 된다. (단축키 Control + Shift + ..

Study/Python

[mac] m1 웹 크롤링 Selenium, Chromedriver 설치하기

크롤링을 위한 Selenium, Chromedriver를 설치해보자. 나는 m1 맥북을 사용하기 때문에 해당 환경 기준으로 진행해 보았다. 1. Selenium 설치 먼저 셀레니움은 웹 자동화 테스트 도구이다. 셀레니움을 통해 자동으로 웹사이트에 접속하거나 로그인 할 수 있다. 먼저 selenium은 pip를 통해 설치한다. python3 환경에 설치하기 위해 pip3 명령어를 사용한다. pip3 install selenium 이미 설치를 완료했기에 다음과 같은 화면이 뜬다. 2. Chromedriver 설치 크롬 드라이버는 brew를 통해 설치한다. brew install --cask chromedriver 이전에는 크롬과 크롬 드라이버의 버전을 맞춰주어야 했다. 셀레니움 4.0 버전 이후부터는 크롬 ..

Study/Python

[파이썬] 2차원 이상 배열 다중 조건으로 정렬하기

파이썬은 C++이나 자바와 다르게 객체를 상속받아 정렬 조건을 설정할 필요가 없다. sorted 함수에 람다식을 사용하여 원하는 조건에 맞게 다중 정렬 할 수 있다. 알고리즘 풀이에 그리디나, 정렬 문제에 자주 사용하는데 사용할 때 마다 헷갈리는 경우가 있어서 정리해놓으려 한다! result = [["alice",'B',87], ["tom",'C',70], ["hooni",'A',100], ["chulsoo",'C',72], ["masao",'B',88], ["sato",'A',100],] 다음과 같이 이름, 성적, 점수 로 나열된 배열이 있다고 하자. result = sorted(result, key = lambda x: [1순위 조건, 2순위 조건, ...]) 먼저 람다식의 기본 문법은 다음과같다. ..

ddingmin00
'Study/Python' 카테고리의 글 목록