メインコンテンツへスキップ
client.imessage_conversations() -> pd.DataFrame
client.imessage_messages() -> pd.DataFrame
Epstein アーカイブから復元された iMessage データを、会話(連絡先)と個々のメッセージに分割した形でダウンロードします。

from jmail import JmailClient

client = JmailClient()
convos = client.imessage_conversations()
messages = client.imessage_messages()

# All messages from a specific conversation
ghislaine = messages[messages.conversation_slug == "ghislaine-maxwell"]

# Messages sent by Epstein
sent = messages[messages.sender == "me"]

# メッセージと会話のメタデータを結合
merged = messages.merge(
    convos[["slug", "name"]],
    left_on="conversation_slug",
    right_on="slug",
    how="left"
)

会話のカラム

列名説明
idint一意の会話 ID
slugstringURL セーフな会話識別子
namestring連絡先名
biostring連絡先の略歴/説明
photostring連絡先の写真 URL
last_messagestring最後のメッセージのプレビュー
last_message_timestring最後のメッセージのタイムスタンプ
pinnedbool会話がピン留めされているかどうか
confirmedbool連絡先の本人性が確認されているかどうか
source_filesjsonこの会話が抽出されたソースファイル
message_countintこの会話内のメッセージ総数

メッセージ列

ColumnTypeDescription
idstring一意のメッセージ ID ({slug}#{index})
conversation_slugstring会話への外部キー(slug)
message_indexint会話内でのメッセージの位置
textstringメッセージ本文
senderstringme(Epstein)または them(連絡先)
timestring元のタイムスタンプ文字列
timestamptimestampパース済みのタイムスタンプ
source_filestringこのメッセージが抽出された元のソースファイル
sender_namestring送信者の表示名

直接アクセスURL

https://data.jmail.world/v1/imessage_conversations.parquet
https://data.jmail.world/v1/imessage_conversations.ndjson.gz
https://data.jmail.world/v1/imessage_messages.parquet
https://data.jmail.world/v1/imessage_messages.ndjson.gz