珠玉のエロ画像の最近のブログ記事
前回のこのエントリーの続きといいますか、シリーズになっちゃってる感が否めないですがw
珠玉のエロ画像でbashのお勉強です。井上和香、唇がエロくて大好きです。そんな (っ´∀`)っ ゃー が寝ながら画像getして翌朝ムフフと楽しみたいという動機で今回はワンライナーで連番のエロ画像を取得します。
今回のターゲットはココ。
ttp://intervalues6.com/w/waka.html
ttp://intervalues6.com/w/waka2.html
ttp://intervalues6.com/w/waka3.html
ttp://intervalues6.com/w/waka4.html
これらにリンクされている画像を普通にwgetで
$ for i in `echo {1..100}`; do sudo wget http://intervalues6.com/w/waka$i.jpg; done
なんてダウンロードしようと思ったのですが、ここのサーバはちゃんとリファラ対策をしています。
なので、wgetでリファラくっつけてダウンロードするには
$ for i in `echo {1..100}`; do wget --referer=http://intervalues6.com/w/waka.html http://intervalues6.com/w/waka$i.jpg; done
こうします。waka[2-4].htmlからリンクされている画像であっても、サーバサイドでは
「どこぞのドメインからのリファラを許可するか」しか見ていないので、すべてwaka.htmlからのリファラでいけます。
なお、実際にダウンロードしてみるとわかるのですが、waka92.jpg以降が404なので、idol.htmlにリダイレクトされていますので、適宜これを削除します。
$ rm -f idol.html*
================================================================================
今日のワンポイント
wgetコマンドで画像直getできなかったら、同じドメインの適当なURL(存在するファイルで)で
リファラをくっつけてやろう
================================================================================
次に、curlコマンドで同じことをやってみます。
curlコマンドの -e オプションで、リファラをくっつけてやります。
-O オプションがないと、ファイルとして保存できません。
$ for i in `echo {1..100}`; do curl -e http://intervalues6.com/w/waka.html -O http://intervalues6.com/w/waka$i.jpg; done
さてこれだと
$ ls
waka100.jpg waka18.jpg waka26.jpg waka34.jpg waka42.jpg waka50.jpg waka59.jpg waka67.jpg waka75.jpg waka83.jpg waka91.jpg waka9.jpg
waka10.jpg waka19.jpg waka27.jpg waka35.jpg waka43.jpg waka51.jpg waka5.jpg waka68.jpg waka76.jpg waka84.jpg waka92.jpg
waka11.jpg waka1.jpg waka28.jpg waka36.jpg waka44.jpg waka52.jpg waka60.jpg waka69.jpg waka77.jpg waka85.jpg waka93.jpg
waka12.jpg waka20.jpg waka29.jpg waka37.jpg waka45.jpg waka53.jpg waka61.jpg waka6.jpg waka78.jpg waka86.jpg waka94.jpg
waka13.jpg waka21.jpg waka2.jpg waka38.jpg waka46.jpg waka54.jpg waka62.jpg waka70.jpg waka79.jpg waka87.jpg waka95.jpg
waka14.jpg waka22.jpg waka30.jpg waka39.jpg waka47.jpg waka55.jpg waka63.jpg waka71.jpg waka7.jpg waka88.jpg waka96.jpg
waka15.jpg waka23.jpg waka31.jpg waka3.jpg waka48.jpg waka56.jpg waka64.jpg waka72.jpg waka80.jpg waka89.jpg waka97.jpg
waka16.jpg waka24.jpg waka32.jpg waka40.jpg waka49.jpg waka57.jpg waka65.jpg waka73.jpg waka81.jpg waka8.jpg waka98.jpg
waka17.jpg waka25.jpg waka33.jpg waka41.jpg waka4.jpg waka58.jpg waka66.jpg waka74.jpg waka82.jpg waka90.jpg waka99.jpg
おや?実は100個jpgがあった?
$ for i in `echo {90..100}`
> do
> file waka$i.jpg
> done
waka90.jpg: JPEG image data, JFIF standard 1.01
waka91.jpg: JPEG image data, JFIF standard 1.01
waka92.jpg: HTML document text
waka93.jpg: HTML document text
waka94.jpg: HTML document text
waka95.jpg: HTML document text
waka96.jpg: HTML document text
waka97.jpg: HTML document text
waka98.jpg: HTML document text
waka99.jpg: HTML document text
waka100.jpg: HTML document text
はい、やっぱりwaka92.jpg以降は404でリダイレクトされた後のhtmlファイルを拾ってきています。それでは、92から100までのファイルを削除したいのですが、ここではfileコマンドでJPEGじゃないファイルを拾って削除することにします。
$ for i in `ls`; do for f in `file $i | grep -v "JPEG image data" | awk '{print $1}' | sed s/\:$//g`; do rm -f $f; done; done
これでOKです。for文の入れ子で、削除するファイルを指定してやります。外側のfor文は、カレントディレクトリ全体をlsし、内側のfor文で、うそんこJPEG(拡張子は.jpgなんだけど中身がJPEGじゃない)なデータをとっ捕まえて、出力結果をawkとsedで整形し、削除してやります。
上記の例だと、たまたま92から100まで連続してうそんこJPEGだってわかってるからいいようなものの、連番のファイルじゃなかったり、連番のファイルであっても、飛び飛びにうそんこJPEGが混じっているようなときに楽してファイル整理をすることができます。
ね、簡単でしょ?
珠玉のエロ画像でbashのお勉強です。井上和香、唇がエロくて大好きです。そんな (っ´∀`)っ ゃー が寝ながら画像getして翌朝ムフフと楽しみたいという動機で今回はワンライナーで連番のエロ画像を取得します。
今回のターゲットはココ。
ttp://intervalues6.com/w/waka.html
ttp://intervalues6.com/w/waka2.html
ttp://intervalues6.com/w/waka3.html
ttp://intervalues6.com/w/waka4.html
これらにリンクされている画像を普通にwgetで
$ for i in `echo {1..100}`; do sudo wget http://intervalues6.com/w/waka$i.jpg; done
なんてダウンロードしようと思ったのですが、ここのサーバはちゃんとリファラ対策をしています。
なので、wgetでリファラくっつけてダウンロードするには
$ for i in `echo {1..100}`; do wget --referer=http://intervalues6.com/w/waka.html http://intervalues6.com/w/waka$i.jpg; done
こうします。waka[2-4].htmlからリンクされている画像であっても、サーバサイドでは
「どこぞのドメインからのリファラを許可するか」しか見ていないので、すべてwaka.htmlからのリファラでいけます。
なお、実際にダウンロードしてみるとわかるのですが、waka92.jpg以降が404なので、idol.htmlにリダイレクトされていますので、適宜これを削除します。
$ rm -f idol.html*
================================================================================
今日のワンポイント
wgetコマンドで画像直getできなかったら、同じドメインの適当なURL(存在するファイルで)で
リファラをくっつけてやろう
================================================================================
次に、curlコマンドで同じことをやってみます。
curlコマンドの -e オプションで、リファラをくっつけてやります。
-O オプションがないと、ファイルとして保存できません。
$ for i in `echo {1..100}`; do curl -e http://intervalues6.com/w/waka.html -O http://intervalues6.com/w/waka$i.jpg; done
さてこれだと
$ ls
waka100.jpg waka18.jpg waka26.jpg waka34.jpg waka42.jpg waka50.jpg waka59.jpg waka67.jpg waka75.jpg waka83.jpg waka91.jpg waka9.jpg
waka10.jpg waka19.jpg waka27.jpg waka35.jpg waka43.jpg waka51.jpg waka5.jpg waka68.jpg waka76.jpg waka84.jpg waka92.jpg
waka11.jpg waka1.jpg waka28.jpg waka36.jpg waka44.jpg waka52.jpg waka60.jpg waka69.jpg waka77.jpg waka85.jpg waka93.jpg
waka12.jpg waka20.jpg waka29.jpg waka37.jpg waka45.jpg waka53.jpg waka61.jpg waka6.jpg waka78.jpg waka86.jpg waka94.jpg
waka13.jpg waka21.jpg waka2.jpg waka38.jpg waka46.jpg waka54.jpg waka62.jpg waka70.jpg waka79.jpg waka87.jpg waka95.jpg
waka14.jpg waka22.jpg waka30.jpg waka39.jpg waka47.jpg waka55.jpg waka63.jpg waka71.jpg waka7.jpg waka88.jpg waka96.jpg
waka15.jpg waka23.jpg waka31.jpg waka3.jpg waka48.jpg waka56.jpg waka64.jpg waka72.jpg waka80.jpg waka89.jpg waka97.jpg
waka16.jpg waka24.jpg waka32.jpg waka40.jpg waka49.jpg waka57.jpg waka65.jpg waka73.jpg waka81.jpg waka8.jpg waka98.jpg
waka17.jpg waka25.jpg waka33.jpg waka41.jpg waka4.jpg waka58.jpg waka66.jpg waka74.jpg waka82.jpg waka90.jpg waka99.jpg
おや?実は100個jpgがあった?
$ for i in `echo {90..100}`
> do
> file waka$i.jpg
> done
waka90.jpg: JPEG image data, JFIF standard 1.01
waka91.jpg: JPEG image data, JFIF standard 1.01
waka92.jpg: HTML document text
waka93.jpg: HTML document text
waka94.jpg: HTML document text
waka95.jpg: HTML document text
waka96.jpg: HTML document text
waka97.jpg: HTML document text
waka98.jpg: HTML document text
waka99.jpg: HTML document text
waka100.jpg: HTML document text
はい、やっぱりwaka92.jpg以降は404でリダイレクトされた後のhtmlファイルを拾ってきています。それでは、92から100までのファイルを削除したいのですが、ここではfileコマンドでJPEGじゃないファイルを拾って削除することにします。
$ for i in `ls`; do for f in `file $i | grep -v "JPEG image data" | awk '{print $1}' | sed s/\:$//g`; do rm -f $f; done; done
これでOKです。for文の入れ子で、削除するファイルを指定してやります。外側のfor文は、カレントディレクトリ全体をlsし、内側のfor文で、うそんこJPEG(拡張子は.jpgなんだけど中身がJPEGじゃない)なデータをとっ捕まえて、出力結果をawkとsedで整形し、削除してやります。
上記の例だと、たまたま92から100まで連続してうそんこJPEGだってわかってるからいいようなものの、連番のファイルじゃなかったり、連番のファイルであっても、飛び飛びにうそんこJPEGが混じっているようなときに楽してファイル整理をすることができます。
ね、簡単でしょ?
男なら誰もが共感するテーマです。エロ画像を公開しているサイトはよくありますが、よくよく見てみると、公開しているディレクトリやファイル名が連番になっていることがあります。こうなったら誰かに全getさせて、後でゆっくり見てみたいと思うのは当然でしょう。
というわけで、珠玉のエロ画像を取得するスクリプトを書いてみました。エロ画像を公開しているサイトが「www.example.com」だとして、その中の「galleries/gall001」ディレクトリから「galleries/gall050」ディレクトリまでが公開されているとして、それぞれのディレクトリの中に、夢のjpgファイルが連番で001から099まであるとします。
今回、ディレクトリの数とファイルの数だけfor文をまわしますが、考え方としては、for文の中にfor文、つまり入れ子の状態にしてやってまわします。
そして、ディレクトリ名やファイル名の連番を生成するのに、seqコマンドのwオプションを利用して、ゼロパディングします。もっとも、これだけだと、たとえば0から99の場合、00~99というそろえ方をしてくれますが、000~099というそろえ方はしてくれないので、そこはsedをかましてやることで解決します。また、接頭語だけでなく接尾語を生成するのにもsedを使います。それでは、早速スクリプトを見てみましょう。
$ touch wget.sh
$ chmod 755 wget.sh
$ vi wget.sh
#!/bin/sh
# ディレクトリは001から050までとする
for DIR in `seq -w 1 50 | sed s/^/0/g`
do
# ディレクトリを作成する
mkdir $DIR
# ディレクトリに移動する
cd $DIR
# 001.jpgから099.jpgを取得する
for LIST in `seq -w 1 99 | sed s/^/0/g | sed s/$/.jpg/g`
do
wget http://www.example.com/galleries/gall$DIR/$LIST
done
# 必ず上位ディレクトリへ戻る
cd ../
done
以上です。
というわけで、珠玉のエロ画像を取得するスクリプトを書いてみました。エロ画像を公開しているサイトが「www.example.com」だとして、その中の「galleries/gall001」ディレクトリから「galleries/gall050」ディレクトリまでが公開されているとして、それぞれのディレクトリの中に、夢のjpgファイルが連番で001から099まであるとします。
今回、ディレクトリの数とファイルの数だけfor文をまわしますが、考え方としては、for文の中にfor文、つまり入れ子の状態にしてやってまわします。
そして、ディレクトリ名やファイル名の連番を生成するのに、seqコマンドのwオプションを利用して、ゼロパディングします。もっとも、これだけだと、たとえば0から99の場合、00~99というそろえ方をしてくれますが、000~099というそろえ方はしてくれないので、そこはsedをかましてやることで解決します。また、接頭語だけでなく接尾語を生成するのにもsedを使います。それでは、早速スクリプトを見てみましょう。
$ touch wget.sh
$ chmod 755 wget.sh
$ vi wget.sh
#!/bin/sh
# ディレクトリは001から050までとする
for DIR in `seq -w 1 50 | sed s/^/0/g`
do
# ディレクトリを作成する
mkdir $DIR
# ディレクトリに移動する
cd $DIR
# 001.jpgから099.jpgを取得する
for LIST in `seq -w 1 99 | sed s/^/0/g | sed s/$/.jpg/g`
do
wget http://www.example.com/galleries/gall$DIR/$LIST
done
# 必ず上位ディレクトリへ戻る
cd ../
done
以上です。
