API (추출데이터)
API란?
애플리케이션 프로그래밍 인터페이스(Application Programming Interface)의 약자로 서로 다른 소프트웨어 프로그램이 서로 데이터를 교환하고 상호작용할 수 있도록 하는 일련의 규칙 또는 프로토콜입니다.
리스틀리에서 추출한 데이터를 자신의 DB(데이터베이스)에 쌓아두거나 구글 스프레드 시트에 연동하고 싶을 때 사용해보세요.
TIP 구글 스프레트 시트에 연동하기
참고: 구글 시트에서 수집된 데이터 불러오기 (API 연동)
API 주소 확인하는 방법
LISTLY API는 추출된 데이터를 원하는 곳으로 전달하기 위한 일종의 데이터 연결통로(pipeline)로 생각해볼 수 있습니다. 아래 이미지처럼 모든 데이터 결과 페이지에 API 버튼이 존재하며, API 버튼을 누르면 해당 결과를 가리키는 API 주소가 나타납니다. 해당 주소에 접속 시, 엑셀로 받아본 데이터가 동일하게 나타납니다. 이 기능을 활용해 구글 스프레드 시트에 연동하거나 추가 코드를 작성하여 자신의 DB 에 데이터를 넣으실 수 있습니다.

API 버튼을 처음 사용하시는 분들은 아래 이미지처럼 API 토큰 생성 화면이 나타납니다. 원클릭으로 토큰을 생성하시고, 결과 페이지로 돌아와 API 버튼을 다시 눌러보세요.
이미 설정을 한 경우라면 계정 설정에서 API 토큰을 확인하실 수 있습니다.


API 주소 종류
API 주소는 크게 2가지가 있습니다.
최신 API: 추출 성공한 최신 데이터만 보여줍니다.
로그 API: 그동안 추출한 모든 데이터들을 보여줍니다.
싱글 (Single), 그룹 (Group) 추출 결과 페이지에서 최신, 로그 API 들을 모두 사용하실 수 있습니다.
싱글 최신 데이터 (Single Latest)
싱글 로그 데이터 (Single Logs)
그룹 최신 데이터 (Group Latest)
그룹 로그 데이터 (Group Logs)
싱글 최신 데이터 (Single Latest) & 싱글 로그 데이터 (Single Logs)
싱글 추출 최신 데이터는 결과에서 최신 선택 후 API 확인
싱슬 추출 로그 데이터는 결과에서 로그 선택 후 API 확인
그룹 최신 데이터 (Group Latest) & 그룹 로그 데이터 (Group Logs)
그룹 추출의 최신 데이터는 그룹 API 에서 확인

그룹 추출 로그 데이터는 로그 목록 → 원하는 로그 데이터 선택 → 그룹 API에서 확인하실 수 있습니다.


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씩 증가합니다.
API 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?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으로 표현됩니다.
TIP 위의 설명이 잘 이해되지 않는다면, 실제 API 주소에서 직접 옵션값을 바꿔보세요. 어떻게 바뀌는지 바로 확인하실 수 있습니다.
코드 샘플
Python 코드양식
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)Python 코드 실제 예시
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)Last updated
Was this helpful?
