【Twitter】다운로드한 (자신의 계정의) 과거 트윗을 깨끗한 CSV로 하고 싶다

Twitter에서 '설정' > '계정' > '트위터 데이터' > '아카이브 다운로드'
에, 자신의 과거의 트윗을 모두 다운로드하는 기능이 준비되어 있는 것은 알고 있는 대로입니다.


다운로드한 파일에는 과거 트윗, RT한 트윗, 좋아하는 트윗 정보, 직접 메시지 등이 포함되어 있습니다. (일반적으로 함께 다운로드되는 index.html을 열어 볼 수 있지만, 자신의 경우에는 index.html이 다운로드되지 않았습니다. 왜일까요)


2019/12/15 추가

index.html은 원래 다운로드되지 않는 사양으로 변경된 모양입니다.

BERT를 이해하면서 자신의 트윗을 시각화해 보는 핸즈온
↑ 이쪽의 기사를 읽고 깨달았습니다.
↓(참고)
【해결】 트위터의 모든 트윗 기록을 다운로드 할 수 없다 【방법】

텍스트 마이닝이나 어떠한 분석을 실시하고 싶은 경우에는 tweet.json 를 읽게 된다고 생각합니다. 본고에서는 이 json 파일을 형태소 해석 등에 사용하기 쉬운 csv로 가공합니다. 작성하는 csv는 「타임 스탬프」와 「텍스트 본문」의 2 컬럼입니다.

궁극적으로 할 수 있는 CSV 이미지


환경
파이썬 3.6.5
Mac OS Mojave 10.14.4

pandas==0.23.0

다운로드한 json을 열면 이런 느낌이 든다고 생각합니다.


빨간색 밑줄을 그렸다.
window.YTD.tweet.part0 = 

불필요하므로 지우십시오. 그런 다음 확장자를 .txt로 변경하고 작업 할 디렉토리에 넣으십시오.

read_dl_tweet.py
import pandas as pd
import json

tweets_file = open("tweet.txt", "r")
tweet = json.load(tweets_file)

위의 스크립트에서 pandas dataframe으로 json을 엽니 다.
열은 많이 있지만, 필요한 열만을 꺼냅니다.

read_dl_tweet.py
df = tweet_data_frame.loc[:,["created_at","full_text"]]

csv로 갈 때 개행이나 쉼표 등의 곤란한 문자가 들어 있기 때문에, 이것들을 제거합니다.
regex = True로하지 않으면 잘 작동하지 않았습니다.

read_dl_tweet.py
df = df.replace(['\n',',',' ','\r'],'',regex=True)

또, 타임 스탬프의 형식이, 소트에 사용할 수 없는 형태로 되어 있으므로, 이것을 읽기 쉬운 형태로 고쳐줍니다. pandas의 to_datetime 메소드로 한 번에 변환할 수 있었습니다.

read_dl_tweet.py
df_date = pd.to_datetime(df["created_at"])
df["date_form"] = df_date
df_sorted = df.sort_values("date_form") 
df_text_date = df_sorted.loc[:,["date_form","full_text"]]

새로 만든 타임 스탬프로 정렬합니다.

read_dl_tweet.py
df_text_date.to_csv("df_text_date.csv", header=False, index=False,sep=',',encoding='utf-16')

csv를 출력 할 때 옵션을 적절하게 변경하십시오 (예 : 구분 기호를 탭으로 설정).

다음 기사 에서는 작성한 csv에서 기간별 트윗 수를 그래프에 표시해 보겠습니다.

이번 코드 : htps : // 기주 b. 이 m / 게 게요 / p t_와 t_g 등 ph

좋은 웹페이지 즐겨찾기