Open3
esa のアーカイブをダウンロードする
esa.io 公式のエクスポート機能では、コメントや添付ファイルをダウンロードすることができません。
そこで、そうしたものも含めてダウンロードしてみます。
記事・コメント・スター・画像をダウンロードする
記事数が100件以下なら curl と wget と jq だけでダウンロードできます。
#!/bin/bash
TEAM_NAME='TEAM NAME HERE'
API_KEY='ESA API KEY HERE'
WORK_DIR='attachments'
# Download posts / comments
curl -X GET -H "Authorization: Bearer ${API_KEY}" 'https://api.esa.io/v1/teams/${TEAM_NAME}/posts?per_page=100&include=stargazers,comments,comments.stargazers' | tee export-esa-io.json
# Download attachments
mkdir -pv "${WORK_DIR}"
pushd "${WORK_DIR}"
cat ../export-esa-io.json | jq -SMr '.posts[] | .body_md | match("https://(img\\.esa\\.io|esa-storage-tokyo\\.s3-ap-northeast-1\\.amazonaws\\.com)/.+(png|jpeg|jpg|gif|pdf)") | .string' | xargs -IX wget X
popd
記事数が100を超える場合、100記事ごとにページが分けられるので、各ページをダウンロードしていくことになります。