[99일챌린지] 프로젝트 기획만 99번째

다현·2022년 10월 14일

99일 챌린지

목록 보기
10/13

00. 개요

어제 (10월 11일)날씨가 급격하게 추워졌다.
많은 사람들이 같은 생각을 했을 것이다.

내 트렌치코트...

그래서, 트위터 api를 이용하여 가장 트렌치코트가 많이 언급되는 날짜를 찾아 그날의 기상 데이터와 연관지어 언제 가장 트렌치코트를 입으면 좋을지 분석해볼 것이다.


01. 기초 준비

트위터 api를 가져오기 위해서 트위터 개발자 계정을 등록했다.
...
개발자 계정 승인까지 24시간이 걸렸다. 물론 내용을 첨에 대충 써서 다시 메일이 오고, 다시 써서 보내고 기다리느라 시간이 걸린거긴 하다 ㅎ

api key와 access token을 받아서 설정해 트위터에 연결한다.

import twitter

twitter_api = twitter.Api(consumer_key=twitter_cid,
                          consumer_secret=twitter_cid_secret, 
                          access_token_key=twitter_access, 
                          access_token_secret=twitter_access_secret)
                          

02. 일단 긁어오자!

query = "트렌치"
statuses = twitter_api.GetSearch(term=query, count=100)
for status in statuses:
    print(status.text)

일단 "트렌치"가 포함된 트윗을 긁어왔는데..

조금 곤란하다
RT된 트윗까지 모조리 가져온 모양이다.

query = "트렌치 -RT"

로 RT 내용을 빼보았다.

오 의미있어보여

그럼 이 트윗들이 작성된 날짜를 가지고 와 보겠다.

for status in statuses:
    print(status.created_at)

참고로 status를 그대로 출력하게되면

대충 이렇게 나온다. 원하는 것만 골라서 가져오면 되는 것이다.

위에서는 count를 100으로 설정했기 때문에 100개만 가져온 모양이다. count는 default값으로 15가 설정되어 있다.


03. 난관 봉착


...뭐?

내 계획은... 지금까지 트렌치 단어가 포함된 트윗을 모두 가져와서 언제 가장 언급이 많았는지 보고 그때의 기온을 바탕으로 가장 트렌치를 입기 좋은 기온을 특정하는 거였는데...
7일로는 안되는ㄷㅔ...........


04. 꿩 대신 닭으로

대신 구글 트렌드를 이용하기로 했다.

킹받는 줄바꿈과 함
께 검색해 보았다.
(2008.01.01 ~ )

정말 귀엽게도 매년 3,4월과 10월에 가장 높은 관심도가 나타났다.
하지만 이 데이터를 가져오면 3,4월과 10월의 관측된 기상정보를 토대로 판단해야 하는데, 3월과 10월은 아무래도.. 눈이 온 적도 있고 엄청 더웠던 날도 있어서 일별로 가져와야 한다.

그리고 트렌치랑 트렌치코트는 거의 동일하게 나타났다.
들쑥날쑥한 2011년 이전 데이터를 제외하면

아름답게 나타난다.

이 데이터를 csv 파일로 보겠다.

1월엔 현저히 낮고, 3월이 되어갈수록 전체적으로 높은 관심도가 나타나는것을 확인할 수 있다.
엑셀로 필터를 걸어서 평균을 초과하는 달만 뽑은 결과
(2월), 3월, 4월, 9월, 10월, (11월)만 남은 것을 확인할 수 있었다.

그래서 날짜는 어떻게 가져오는데!
일단 편의를 위해 2월과 11월은 제외한다. (관심도가 진짜 낮은 편이다)

날짜별 최고/최저기온, 강수량, 바람(?)을 먼저 가져와서 매칭시키는 방법이 있고,
먼저 날짜를 뽑고 그날의 기상데이터를 가져오는 방법이 있는데
나는 기상데이터를 먼저 가져와서 날짜를 매칭시켜보기로 했다.

즉, 2011년부터 2022년까지의 3월, 4월, 9월, 10월의 기상 데이터를 확보해야 한다.
.
.
.
투비컨티뉴..

profile
데이터 사이언티스트를 꿈꾸는 감자

0개의 댓글