Skip to content

Instantly share code, notes, and snippets.

@eggplants
Last active April 20, 2025 06:33
Show Gist options
  • Save eggplants/09e56c858724b3ea266357f727653d43 to your computer and use it in GitHub Desktop.
Save eggplants/09e56c858724b3ea266357f727653d43 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
__check() {
if [[ $# == 0 ]]; then
echo "usage: $0 <ENV> [spn opt]..."
exit 0
fi
if ! command -v curl git &>/dev/null; then
echo "install: curl, git" >&1
exit 1
fi
}
__spn() {
local script_path
script_path='wayback-machine-spn-scripts/spn.sh'
if ! [[ -x "$script_path" ]]; then
git clone --single-branch --depth 1 https://github.com/overcast07/wayback-machine-spn-scripts
chmod +x "$script_path"
fi
. "$script_path" "$@"
}
__main() {
local blog_id page_source i
blog_id="$1"
shift
page_source=$(mktemp)
i=1
while :; do
curl -s "https://blog.goo.ne.jp/${blog_id}/arcv/?page=${i}" | tee "$page_source"
if grep -qF '該当する記事はありません。' "$page_source"; then
break
fi
((i++))
done > urls.txt
cat urls.txt | grep -oE "https://blog\.goo\.ne\.jp/${blog_id}/e/[^"]+" | sort -V | uniq 1<>urls.txt
__spn -p 1 -w 60 -o "https://blog\.goo\.ne\.jp/${blog_id}/e/[^\"]+" $@ urls.txt
}
__check $@
__main $@
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment