티스토리API를 활용하여 글목록 가져오기 (오픈API, 파이썬 활용)

2018. 3. 15. 07:18

티스토리 올린 글이 많아지면 내가 무슨 글을 올렸는지 헷갈리기도 하고, 어떤 글들이 있는지 보고 싶은 욕구가 생기게 된다.

그래서 오늘은 티스토리 오픈API를 활용하여 글목록을 가져오고자 한다. 오픈API를 활용하기 위해서는 인증 코드를 받아야 한다. 인증 코드를 받는 방법은 다음 글을 참조하면 된다.
( 참조: 티스토리API access token을 받아보자 )


인증 코드를 받고 난 이후에 글목록을 가져오는 것은 간단한다.





티스토리API싸이트(https://tistory.github.io/document-tistory-apis/)에 방문하면 글목록을 가져오는 API외에도 쓰기, 수정하기, 읽기 등 다양한 API들의 내용을 확인할 수 있다.


(티스토리 오픈API 싸이트)



이중에 최근 게시글 목록 API를 사용하면 된다. 중간에 access_token이 들어간 url을 요청하면, 글목록을 리턴해 준다. 보낼 url은 아래와 같다. 



* URL
https://www.tistory.com/apis/post/list?access_token=(인증코드)&targetUrl=tariat&count=30&sort=id&output=json&page=(숫자)



https부터 list?까지는 글목록을 가져오기 위한 공통적인 부분이다. 그 이후에 값에 대해서 하나씩 살펴보겠다.



- access_token: 인증코드를 입력하여, 블로그 주인임을 증명하는 부분이다.

 -targetUrl: 인당 블로그를 5개까지 개설할 수 있기 때문에 어떤 블로그인지 지정이 필요하다. 티스토리 url은 XXX.tistory.com으로 이루어져 있는데, 이 앞의 XXX까지만 적어주며 된다.

 - count: 가져오는 글목록의 갯수를 이야기한다. 최대 30개이다.

 - sort: 글의 정렬기준을 이야기한다. id순으로 정렬해서 가져왔다.

 - output: 글목록을 가져오는 자료 형태를 지정하는 부분이다. json과 xml 2가지가 있는데, json으로 지정했다.

 - page: 몇 페이지의 목록을 가져올지 지정하는 부분이다.





전체 목록을 다 가져오는 옵션이 없기 때문에, page를 이용하여 1페이지씩 가져와서 데이터를 합치는 작업을 했다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 글목록 가져오기
total_post=pd.DataFrame()
 
for i in range(1,100):
 
    url2="https://www.tistory.com/apis/post/list?access_token="+access_token+"&targetUrl=tariat&count=30&sort=id&output=json&page="+str(i)
 
    # webbrowser.open(url2)
    result_data = urlopen(url2)
    result = result_data.read()
    data = json.loads(result)
 
    try:
        posts=data["tistory"]["item"]["posts"]
        posts=pd.DataFrame(posts)
        total_post=pd.concat([total_post,posts])
 
    except Exception as e:
        print(i)
        print(data)
        print(e)
        break
 
total_post.reset_index(drop=True)
 
total_post.to_csv("toatl_post.csv")
 
cs



완료된 글목록은 csv파일 형태로 저장하였다. 


추천포스트


csv파일을 열면 아래와 같이 글목록이 저장된 것을 확인할 수 있다.




티스토리를 사용하면서 작성한 글이 많아졌을 때 유용한 방법이 아닌가한다. 


아는 것이 힘이다! 티스토리 꿀팁과 방법들이 궁금하다면, 아래 링크를 클릭해 주세요.

► 티스토리 꿀팁과 방법들, 어떤 것이 있을까? 클릭!


댓글()
  1. 2018.03.18 23:31 댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  2. Favicon of https://yellower.tistory.com BlogIcon 알겠소 2018.08.13 21:25 신고 댓글주소  수정/삭제  댓글쓰기

    키야~~
    멋진 글 감사합니다

  3. 2019.05.15 22:36 댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    • Favicon of https://tariat.tistory.com BlogIcon 테리엇 2019.05.22 06:03 신고 댓글주소  수정/삭제

      import pandas as pd 가 상단에 있는데 제가 빼먹었네요. 판다스라는 데이터분석을 위한 모듈입니다. 판다스에 대해서 궁금하시면 아래 링크를 참조해보세요.
      https://tariat.tistory.com/206?category=678799

  4. Favicon of https://fishpoint.tistory.com BlogIcon 지구빵집 2019.12.29 22:13 신고 댓글주소  수정/삭제  댓글쓰기

    한글이 깨집니다. "id":"1080","title":"\uc815\uad50\ubd84\ub9ac\u2019\uc57c\ub9d0\ub85c \uc138\uc0c1\uc77c \uac04\uc12d \ub9d0\ub77c\ub294 \u201c\ub9c8\uadc0\uc758 \ub9d0\u201d","postUrl":"http

  5. Favicon of https://fishpoint.tistory.com BlogIcon 지구빵집 2019.12.31 15:58 신고 댓글주소  수정/삭제  댓글쓰기

    감사합니다. 덕분에 잘 배웠습니다. ^^

  6. 2020.03.15 08:51 댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    • Favicon of https://tariat.tistory.com BlogIcon 테리엇 2020.03.17 06:59 신고 댓글주소  수정/삭제

      티스토리에 open api로 글쓰기가 가능하지만, html형태는 안 되는 것 같습니다. 다른 방법으로 여러 개의 글을 프로그램을 이용해서 올리시는 것 같네요.

  7. 검색 관련 질문 2021.01.20 14:23 댓글주소  수정/삭제  댓글쓰기

    안녕하세요 티스토리 관련 글 잘 읽었습니다. 혹시 티스토리 api를 이용해서 여러 사이트의 글 결과를 이용해서 여러 티스토리 사이트의 글 목록을 검색 데이터로 이용할 수 있을까요?