본문 바로가기
IT/티스토리

티스토리 포스팅 제목만 가져오기 - open api

by by me 2018. 2. 25.
반응형


가지고 있는 티스토리 블로그 글목록의 제목만 가져와서 따로 구글 독스 스프레드시트(또는 액셀)에 저장했다.

시간상 간단하고 허접하게만 만들어서 일괄 출력해서 붙여넣음.

이걸 하는 이유는 내가 쓴 포스팅을 이전 글에서 찾을때가 있는데 여러개 블로그 운영하다보면 어디에 썼는지 몰라서 다 찾아봐야한다.

블로그수가 많아지면 시간낭비... 제목만으로도 키워드 찾는데 충분하기 땜시


그래서 일단은 허접하게 그냥 코드에 변수만 바꿔서 브라우저에 출력시키고, 전체선택해서 바로 구글 스프레드시트(또는 엑셀)에 붙여넣을수 있도록 했다.

혹시 나처럼 티스토리 API써서, 제목만 따서 가져올분은 참고하시길

저는 형식 : 티스토리제목 (탭) 날짜 (탭) 주소(링크있음)로 출력했습니다.



티스토리 API 가이드는 아래와 같고 일단 인증키를 받아야 함.

액세스토큰을 받아서 넣어준다.

http://tistory.com/guide/api/oauth


발급 방법은 아래의 블로그 참고.

http://trip.limsee.com/325


토큰 얻어오고, 블로그 주소와 리스트에 출력되는 페이지 수를 알아낸다음 아래의 코드에 붙여넣고 돌림.

(php파일형식)


페이지 수는 크롬 시크랩 탭을 연 다음(이렇게 하는 이유는 공개글의 카운팅 수만 알아내기 위해서. 로긴안했음 이건 패스), 전체보기 누르고 가장 끝자리 수를 가져오면 된다

내 블로그는 10개씩만 리스팅되어서 그대로 가져왔다

api상에서 30개가 최대임.

 

//************************

$atoken="액세스토큰넘버";

$page_num = 10개(예시) 기준 페이지 수

$pn = 10; // 10개(예시)

$blog_name = "xxx"; // xxx.tistory.com

//************************


echo "<table>";

for($i=0; $i<$page_num;$i++){

$ch = cURL_init();

$p = $i+1;

$get_list = "http://www.tistory.com/apis/post/list?access_token=".$atoken;

$get_list .= "&blogName=".$blog_name."&sort=date&count=".$pn."&page=".$p;


cURL_setopt($ch, CURLOPT_URL, $get_list);

cURL_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$response = cURL_exec($ch);

cURL_close($ch); 


$object = simplexml_load_string($response);

foreach($object->item->posts->post as $store) {

echo "<tr><td>".$store->title."</td>";

echo "<td>".$store->date."</td>";

echo "<td><a href='".$store->postUrl."' target='_blank'>".$store->postUrl."</a></td></tr>";

 }

}

echo "</table>";


이거 짜면서 몇시간동안 정상코드인데 출력안돼서 왜 안되지 끙끙댔는데

알고보니 https대신에 http로 써줘야 했다.

개발은 정말 사소한 부분에서 문제가 생기...


참고한곳

http://www.i-swear.com/tag/%ED%8B%B0%EC%8A%A4%ED%86%A0%EB%A6%AC%20%EC%98%A4%ED%94%88API

XML파싱

http://triki.net/triki/php-parsing-xml-example-curl-84

그외 참고 (utf-8태그)

https://ofcourse.kr/html-course/%EC%9D%B8%EC%BD%94%EB%94%A9


메모.