---
title: "트위터 API를 활용하여 심층 분석: 아이폰 4S와 갤럭시 넥서스 비교 분석"
date: "2011-11-08"
categories: 
  - "applications"
  - "json"
tags: 
  - "api"
  - "data-integration"
  - "mapforce"
  - "twitter"
  - "xmlspy"
description: 이 기사에서는 MapForce를 사용하여 트위터 검색 API를 활용하여 데이터 통합을 수행하는 방법을 살펴보고, 특히 iPhone 4S와 Galaxy Nexus에 대한 사용자 참여도를 비교 분석합니다.
---
Status: #blog

Tags:  #api #data-integration #mapforce #twitter #xmlspy

Categories: [development](/blog/ko/category/development.md) | [json](/blog/ko/category/json.md)
# 트위터 API를 활용하여 심층 분석: 아이폰 4S와 갤럭시 넥서스 비교 분석

트위터 검색 API를 사용하여 아이폰 4S와 갤럭시 넥서스 간의 논쟁을 심층적으로 분석한 결과, 흥미로운 데이터를 발견했습니다. 오늘날 온라인에는 연구, 시장 분석, 경쟁사 분석 등에 활용할 수 있는 방대한 양의 데이터가 존재합니다[빅 데이터 (또는 대용량 데이터)](http://en.wikipedia.org/wiki/Big_data)"이 데이터는 이를 생산하고, 보관하고, 분석하는 사람들에게는 문제가 될 수 있지만, 해답을 찾는 우리에게는 매우 유용합니다. 다행히 일부 데이터는 온라인에서 검색할 수 있으며, 특히 소셜 미디어 상호작용에 관한 방대한 양의 데이터가 존재합니다."

[![트윗 검색 API (Twitter 검색 API)](https://lh3.ggpht.com/-Cab7QZbaVg4/TrgSS1AfiJI/AAAAAAAAAjw/Ockh69Y5Cgg/TweetsQueryingSearchAPI_thumb2.png?imgmax=800 "TweetsQueryingSearchAPI")](http://lh3.ggpht.com/-8qNuzrNkmrA/TrgSSHXaZiI/AAAAAAAAAjo/yKOA1PpWct0/s1600-h/TweetsQueryingSearchAPI4.png)

이번 기사에서는 [MapForce](https://www.altova.com/ko/mapforce.html "Graphical data mapping, conversion, and integration tool")라는 [Altova](https://www.altova.com/ko/)의 데이터 매핑/변환/통합 도구를 사용하여 [Twitter 검색 API](https://dev.twitter.com/docs/api/1/get/search)를 통해 최근 사용자들의 게시물("트윗") 데이터를 수집하고, 특히 "아이폰 4S"와 최신 안드로이드 스마트폰인 "갤럭시 넥서스"라는 두 가지 인기 주제에 대한 사용자들의 의견을 분석하여, 해당 논의에 참여한 사용자들에 대한 통계 데이터를 추출하는 방법을 살펴보겠습니다. 오늘날 우리에게 제공되는 방대한 데이터의 장점 중 하나는, 이를 흥미로운 방식으로 분석하고 새로운 의미를 도출할 수 있다는 것입니다. 

트위터 주제에 대한 트렌드를 제공하는 기존 서비스들이 분명히 많이 존재합니다 (예: [Trendistic](http://trendistic.indextank.com/)). 하지만 이러한 서비스들은 매우 단순한 트렌드만 제공하며, 더 깊이 있는 분석을 수행할 수 있도록 해 주지는 않습니다. 하지만 웹 서비스 API에 대한 기본적인 지식만 습득하고, 이를 활용하여 XML 데이터를 추출하는 방법을 익히면, 모든 기본 데이터에 접근하여 활용할 수 있습니다. 시작점으로, "갤럭시 넥서스"에 대한 최근 트윗들을 검색하기 위해 [트위터 검색 API](https://dev.twitter.com/docs/api/1/get/search)를 사용하여 최근 100개의 트윗 데이터를 가져오겠습니다. 다음 내용입니다 [트위터 검색 사용 지침](https://dev.twitter.com/docs/using-search) 이 정보는 쿼리에서 두 단어를 모두 사용할 경우 기본 연산자인 "AND"가 적용된다는 것을 알려줍니다. 따라서 "Galaxy AND Nexus"를 포함하는 게시물을 검색할 것입니다. 자, 그럼 한번 시도해 보겠습니다. 가장 최근의 100개 항목을 요청해 보겠습니다

> [http://search.twitter.com/search.atom?q=galaxy+nexus&rpp=100](http://search.twitter.com/search.atom?q=galaxy+nexus&rpp=100 "http://search.twitter.com/search.atom?q=galaxy+nexus&rpp=100")

이 링크를 클릭하시면, [Atom 동기화 형식](http://tools.ietf.org/html/rfc4287) 사양에 따라 구성된 방대한 XML 데이터가 포함된 두 번째 창이 나타납니다. 또는, JavaScript 코드를 사용하여 직접 데이터를 처리하고 싶다면 JSON 형식으로 데이터를 요청할 수도 있습니다. 하지만, 우리는 데이터를 쉽게 분석하고 원하는 정보를 추출할 수 있도록 XML 기반의 Atom 형식을 사용할 것입니다. 위 검색 결과를 웹 브라우저에서 보는 것은 사용자 친화적이지 않으므로, "URL에서 열기" 기능을 사용하여 [자신이 선호하는 XML 편집기](https://www.altova.com/ko/xml-editor/ "XMLSpy")에서 XML 데이터를 빠르게 확인해 볼 수 있습니다

[![트위터 피드, 아톰, 그리드](https://lh6.ggpht.com/-j_x9YEef4Nk/TrgSTxoCftI/AAAAAAAAAkA/MfdgGZdg8kQ/TweetsAtomGrid_thumb%25255B5%25255D.png?imgmax=800 "TweetsAtomGrid")](http://lh3.ggpht.com/-5JEh5K9QkQs/TrgSTOLGHVI/AAAAAAAAAj4/7HnKXnkUMq0/s1600-h/TweetsAtomGrid%25255B7%25255D.png)

보시다시피, 각 항목의 데이터에는 언어 코드가 포함되어 있습니다. 따라서 이번 예제에서는 이 트위터 피드에서 데이터를 추출하는 것뿐만 아니라 "iPhone 4S"에 대한 두 번째 검색 결과에서도 데이터를 추출하여, 이를 하나의 중간 XML 파일로 결합한 후 추가 분석을 진행할 것입니다. MapForce에서 XML 데이터를 추출하는 것은 매우 간단합니다. "XML 파일 삽입" 옵션을 사용하여 XML 소스를 추가하면, 이전에 사용했던 동일한 URL을 다시 지정할 수 있습니다. 필요한 경우, MapForce는 제공된 데이터에 대한 XML 스키마를 자동으로 생성하여, 이를 시각화하고 정보를 추출할 수 있습니다

[![트위터 원자 매핑](https://lh6.ggpht.com/-6tRtunjeJ0Y/TrgSVGR1rLI/AAAAAAAAAkQ/bhHGOwhwRYA/TweetAtomMapping_thumb%25255B6%25255D.png?imgmax=800 "TweetAtomMapping")](http://lh5.ggpht.com/-bzAvR6n32VQ/TrgSUiI-bzI/AAAAAAAAAkI/ma5mLdoy15k/s1600-h/TweetAtomMapping%25255B10%25255D.png)

저희가 설계한 매핑에서는 왼쪽에는 "Galaxy Nexus"를 검색하는 쿼리 문자열을 사용하는 소스와 "iPhone 4S"를 검색하는 또 다른 소스를 배치했고, 오른쪽에는 데이터를 통합하고 앞으로 더 편리하게 분석할 수 있도록 간단한 XML 스키마를 배치했습니다. 이 경우, 두 소스 간의 매핑은 간단합니다. 왜냐하면 사용자, 날짜, 그리고 트윗의 언어와 같은 기본적인 정보만 추출하기 때문입니다. 하지만 다른 애플리케이션에서는 매핑이 더 복잡해질 수 있으며, 다른 데이터 소스, 데이터베이스 또는 웹 서비스에 대한 쿼리뿐만 아니라 함수도 포함될 수 있습니다. 결과 XML 데이터를 미리 보기는 MapForce 내에서 출력 탭을 사용하여 직접 확인할 수 있으며, 이는 데이터 변환의 결과로 나타나는 모습입니다

[![트윗 원본 데이터](https://lh4.ggpht.com/-BQ62-NjNL5Q/TrgSWVUyE5I/AAAAAAAAAkg/9oR4YXUNafc/TweetsRawData_thumb%25255B2%25255D.png?imgmax=800 "TweetsRawData")](http://lh3.ggpht.com/-YGWVjhMgmTU/TrgSV3kX6mI/AAAAAAAAAkY/RXuP_H0jqoA/s1600-h/TweetsRawData%25255B4%25255D.png)

이제 [StyleVision](https://www.altova.com/ko/stylevision.html "Visual Stylesheet & Report Design Tool")의 보고 기능을 활용하여 각 주제 내에서 데이터를 언어별로 분류하고, 각 언어별 게시물 수를 쉽게 확인할 수 있습니다. 그런 다음, 이 데이터를 파이 차트 형태로 보고하면 다음과 같은 흥미로운 결과를 얻을 수 있습니다

[![언어별 트윗 목록](https://lh6.ggpht.com/-CAyiEDCNE0A/TriSqgg_ZiI/AAAAAAAAAlI/Q-cLs4zPnOU/TweetsByLanguage_thumb%25255B2%25255D.png?imgmax=800 "TweetsByLanguage")](http://lh4.ggpht.com/-xxyo-qtikjg/TriSqmyxrCI/AAAAAAAAAlA/PVPZqtvAst0/s1600-h/TweetsByLanguage%25255B5%25255D.png)

이 데이터는 실행 날짜, 시간, 그리고 해당 제품에 대한 특정 공지 내용에 따라 크게 달라지므로, 수치가 상당히 변동될 수 있습니다. 하지만, 이를 통해 다양한 언어별 트렌드를 파악하는 데 유용한 모니터링 도구로 활용할 수 있습니다. 일단 설정이 완료되면, 버튼 하나만 클릭하면 해당 시점의 데이터를 쉽게 확인할 수 있습니다. 장기적인 분석을 위해서는 100개 이상의 최근 트윗 데이터를 조회할 수 있도록 설정을 약간 수정해야 합니다. 이 글에서는 트위터의 검색 API를 예시 데이터 소스로 사용하고, 언어를 하나의 데이터 포인트로만 분석했지만, 오늘날 온라인에는 훨씬 더 많은 흥미로운 데이터 소스가 존재하며, 이와 같은 접근 방식을 유사하게 적용할 수 있습니다. 다른 데이터 소스나 추출하고자 하는 다른 종류의 정보를 실험해보고 싶으시다면, 직접 시도해 보시기를 권장합니다. 

[MapForce의 30일 무료 평가판을 이용하실 수 있으며,](https://www.altova.com/ko/download-mapforce.html) [Altova의 데이터 매핑 및 변환 도구의 다른 기능들을 데이터 처리 작업에 활용하는 데 제한이 없습니다](https://www.altova.com/ko/mapforce.html) 이러한 작업은 소셜 미디어 트렌드 분석을 넘어 훨씬 다양한 분야에 적용될 수 있습니다
