BerryjackをTwitpic対応に
zsh
- TOP
- Old Archives
- BerryjackをTwitpic対応に
これはあくまで学術研究目的のレポートである。活用は自己責任にてお願いしたい。
まずはdiff
diff --git a/berryjack b/berryjack
index 378a970..c00e889 100755
--- a/berryjack
+++ b/berryjack
@@ -124,11 +124,12 @@ function get_media_url()
fi
done
# image
- for image in $( grep -Eo 'https://pbs\.twimg\.com/media/[a-zA-Z0-9_\-]+\.(jpg|png)' $tmp | sort | uniq | \
- (if [ $orig -eq 0 ]; then
- cat
+ for image in $( grep -Eo 'https://pbs\.twimg\.com/media/[a-zA-Z0-9_\-]+\.(jpg|png)|https?://twitpic.com/[a-z0-9]*' $tmp | sort | uniq | \
+ (
+ if [ $orig -eq 0 ]; then
+ sed 's#twitpic.com/\([0-9a-z]*\)#twitpic.com/show/full/\1#'
else
- sed 's/$/:orig/g'
+ sed 's#twitpic.com/\([0-9a-z]*\)#twitpic.com/show/full/\1#' | sed '/pbs\.twimg\.com/ s/$/:orig/g'
fi
) )
do
TwitpicのURIを拾うのは、単純にorでgrepがTwitpicのURIを拾ってくれるようにすれば良い。
だが、TwitpicのURIは画像のURIではなくページのURIなので、sedで画像のURIに変換している。
pbs.twimg.comのURIも対象にしているが、該当部分はおそらくないため、単純に無視される。
なお、URIはhttps?://twitpic.com/[a-z0-9]*
に合致するもののみを想定している。
これで取得できる。
Crawlするためのシンプルなコード。保存するベースとなるディレクトリにおき、<userid>/.id
というファイルを作成する。
#!/usr/bin/zsh
for idfile in */.id
do
(
print -- "-*- -*- -*- ${${idfile:h}:t} -*- -*- -*-"
cd "${idfile:h}"
berryjack "${${idfile:h}:t}"
)
done