summaryrefslogtreecommitdiff
path: root/pkulib-dl.sh
diff options
context:
space:
mode:
Diffstat (limited to 'pkulib-dl.sh')
-rwxr-xr-xpkulib-dl.sh29
1 files changed, 29 insertions, 0 deletions
diff --git a/pkulib-dl.sh b/pkulib-dl.sh
new file mode 100755
index 0000000..8190f28
--- /dev/null
+++ b/pkulib-dl.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+# Copyright (C) 2016-2018 Iru Cai <mytbk920423@gmail.com>
+# SPDX-License-Identifier: MIT
+
+WEBURL="$1"
+URL1=$(curl -D - "$WEBURL" | grep 'Location:' | cut -d ' ' -f2 | tr -d '\n\r')
+HD2=/tmp/head2
+
+curl -D "$HD2" "$URL1"
+LOC=$(grep 'Location:' "$HD2" | cut -d ' ' -f2 | tr -d '\n\r')
+COOKIE=$(grep 'Set-Cookie:' "$HD2" | cut -d ' ' -f2 | tr -d '\n\r')
+
+curl -b "$COOKIE" "http://162.105.134.188/$LOC" --output /tmp/article.htm
+IMGDIR=$(grep sm_img_url /tmp/article.htm | sed 's/.*value=\"\([^"]*\)\".*/\1/')
+FID=$(grep fid /tmp/article.htm | sed 's/.*value=\"\([^"]*\)\".*/\1/')
+PAGE=$(grep 'var endpage' /tmp/article.htm | grep -o '[0-9]*')
+
+WORKDIR=$(mktemp -d '/tmp/pkulib.XXXXXX')
+IMGS=()
+cd "$WORKDIR"
+for _pg in `seq 1 $PAGE`
+do
+ curl -b "$COOKIE" "http://162.105.134.188/jumpServlet?page=${_pg}&fid=${FID}"
+ curl -b "$COOKIE" $(printf "http://162.105.134.188/store/$IMGDIR/P01_%05d.jpg" "$_pg") --output "$_pg.jpg"
+ IMGS=(${IMGS[@]} "$_pg.jpg")
+done
+
+img2pdf "${IMGS[@]}" --output thesis.pdf
+echo "Saved to $WORKDIR/thesis.pdf"