API (추출 데이터)
수집된 데이터를 다른 프로그램과 연결하거나 통합하기 위해 어디든지 전달할 수 있습니다.
API, 누가 사용할 수 있나요?
- 추출한 데이터를 DB에 쌓아두거나, 구글 스프레드시트에 연동하고 싶은 분들
- 유료 사용자에게 제공되는 기능입니다.
API 사용 방법
LISTLY API를 처음 사용한다면, 아래 화면처럼 API 토큰 생성 화면이 나타납니다. 원클릭으로 토큰을 생성하고 결과 페이지로 돌아와 API 버튼을 다시 클릭하세요.
만약 이미 설정을 한 경우라면 계정 설정에서 API 토큰을 확인할 수 있습니다.
API 주소 확인
LISTLY API는 추출된 데이터를 원하는 곳으로 전달하기 위한 일종의 데이터 연결통로(pipeline)예요.
아래 그림처럼 모든 데이터 결과 페이지마다 API 버튼이 있으며, API 버튼을 누르면 해당 결과를 가리키는 API 주소가 나타납니다. 이 주소로 접속하면 엑셀로 받아본 데이터가 동일하게 나타납니다.
이 기능을 활용해 구글 스프레드시트에 연동하거나 추가 코드를 작성하여 원하는 DB에 데이터를 넣을 수 있습니다.
API 주소 종류
API 주소는 크게 두 가지가 있습니다.
- 최신 API: 추출 성공한 최신 데이터만 보여줍니다.
- 로그 API: 그동안 추출한 모든 데이터들을 보여줍니다.
싱글(Single), 그룹(Group) 추출 결과 페이지에서 최신 API와 로그 API를 모두 사용할 수 있습니다.
싱글 최신 데이터 (Single Latest)
싱글 추출 최신 데이터는 결과 페이지에서 최신 선택 후 API를 확인하세요.
싱글 로그 데이터 (Single Logs)
싱글 추출 로그 데이터는 결과 페이지에서 로그 선택 후 API를 확인하세요.
그룹 최신 데이터 (Group Latest)
그룹 추출의 최신 데이터는 그룹 API에서 확인하세요.
그룹 로그 데이터 (Group Logs)
로그 목록에서 원하는 로그 데이터를 선택한 후 그룹 API에서 확인하세요.
ENDPOINT
모든 API 주소는 아래 화면과 같이 데이터 추출 결과 페이지에서 확인할 수 있습니다.
종류 | 주소 | 요청방식 |
---|---|---|
Single (최신) | www.listly.io/api/single?key=<singlekey> | GET |
최신 데이터를 보여줍니다. 스케쥴러로 자동 추출되는 최신 데이터를 받을 때 사용합니다. | ||
Single (로그) | www.listly.io/api/single/data?key=<datakey> | GET |
모든 로그 데이터를 보여줍니다. 그동안 쌓인 모든 데이터를 한 번에 불러와 검수할 때 사용합니다. | ||
Group (최신) | www.listly.io/api/group?key=<groupkey> | GET |
최신 그룹 데이터를 보여줍니다. | ||
Group (로그) | www.listly.io/api/group/data?key=<datakey> | GET |
선택한 데이터가 속한 배치(batch) 그룹의 모든 데이터를 보여줍니다. 새로운 그룹 데이터가 쌓일 때마다 배치(batch) 는 1씩 증가합니다. |
PARAMETER
Single (최신) 데이터 API
www.listly.io/api/single?key=<singlekey>&selected=1&arrange=y&href=n&file=csv
Single (로그) 데이터 API
www.listly.io/api/single/data?key=<datakey>&selected=1&arrange=y&href=n&stack=vertical&file=csv
<datakey>는 사용자가 API 주소를 복사할 때 열려 있었던 데이터 결과를 가리킵니다. 해당 데이터에서 선택한 탭을 기준으로 동일한 데이터들을 최신 또는 로그 데이터에서 가져옵니다.
이름 | 자료형 | 값 | 기본값 | 설명 |
---|---|---|---|---|
selected | int | 1, 2, 3 ... | 1 |
선택한 탭의 위치입니다. 1은 1번째, 2 는 2번째를 뜻합니다. |
arrange | string | y, n | y |
데이터 자동정렬 옵션입니다. y 는 자동 정렬합니다. n 은 자동 정렬 없이 나타난 순서대로 왼쪽부터 차곡차곡 출력합니다. |
href | string | y, n | n |
하이퍼링크 포함 옵션입니다. y 는 하이퍼링크를 포함합니다. n은 포함하지 않습니다. |
stack | string | vertical, horizontal | vertical |
데이터를 쌓는 방법입니다. vertical 은 위에서 아래로 수직쌓기를 합니다. horizontal 은 왼쪽에서 오른쪽으로 수평쌓기를 합니다. |
file | string | csv, json | json | 데이터를 출력하는 형식입니다. |
from | datetime | 2020-11-01T00:00 |
날짜시간으로 데이터 범위를 제한할 수 있습니다. from 은 시작하는 시점입니다. %Y-%m-%dT%H:%M 으로 표현됩니다. |
|
to | datetime | 2020-11-11T23:59 |
날짜시간으로 데이터 범위를 제한할 수 있습니다. to 는 끝나는 시점입니다. %Y-%m-%dT%H:%M 으로 표현됩니다. |
위 설명이 잘 이해되지 않는다면 실제 API 주소에서 직접 옵션값을 바꿔보세요. 어떻게 바뀌는지 바로 확인하실 수 있습니다.
코드 샘플
import requests
import csv
API_URL = "API 주소" # 수집된 데이터의 'API 주소' 를 입력하세요
API_TOKEN = "API 토큰" # 나의 계정에 발급된 'API 토큰' 을 입력하세요
headers = { "Authorization": API_TOKEN }
# 수집된 데이터를 불러오기
response = requests.get(url=API_URL, headers=headers)
content = response.content
# CSV 파일로 저장하기
"""
API 주소로 불러오는 파일의 양식이 CSV 가 아닌 JSON 일 경우
그에 맞는 다른 코드를 사용하셔야 합니다
"""
with open('./result.csv', 'wb') as f:
f.write(content)
import requests
import csv
API_URL = "https://www.listly.io/api/single?key=CmKQ625S&selected=1&arrange=y&href=n&file=csv"
API_TOKEN = "BC1Sx370Yows25RxaBMuRxTuMKw3Aq0Ks"
headers = { "Authorization": API_TOKEN }
response = requests.get(url=API_URL, headers=headers)
content = response.content
with open('./result.csv', 'wb') as f:
f.write(content)