2ちゃん画像落としまくりスクリプト
2ちゃんねるに貼ってある画像リンクを追い、 jpgをかき集めるスクリプトを作ってみました。 http://www.ninnin.net/ ※perlとwgetが必要です。 ※Windows,Macでは動きません。
windows で perl も wget も動くはずだが。 fork 使ってるからActive perlでは動かないのですよ。 cygwin上なら動くかも(ためしてないけど) 追記: MacOS Xなら動きますよ (10.1ならwgetを入れなきゃだめだけど) 例えばモー娘板で 一回スクリプトを実行すると 約800枚の画像が収集できます。 Σ(゚д゚lll)ガーン アイドル画像板でやったら最初の画像が葉っぱ隊だった しかも何かループしてて同じ画像だけ取ってるっぽい。 42枚しか収集できなかった。 MacOS X ですがやってみました。 こんなこともできるんですね。目からウロコです。 中にはとても重たいサーバーがあるので、可能であれば タイムアウトのパラメータも追加されるとうれしいです。 (30秒以上反応が無かったらスキップして次、など) perl スクリプトとか詳しくないのに勝手言っちゃってすいません。 cygwinのperlでも動いた。 ただ $down デフォルトは、せめて2くらいに しておいた方が良くないかい? もしくは固定とか。 サーバに申し訳なくて5は指定出来ん。 mpegも落としたいが.... 醤油みたけど直すのメンドイな 1です。 >>8 アイドル版ならもっと集まるはず。取得スレ数リミットをもっとあげてみよう。 >>9 wgetのパラメータをいじればできます。現在の設定は2分です。 今後調整します。スクリプトの153行目をいじれば変更もできますよ。 >>10 その通りですね。次回のバージョンから少し下げます。 >>11 73,74,84行目の.jpgを.mpgに変更すればOKなはずです。 ガ━━(゚Д゚;)━━ソ! よろこびいさんで半角板いったらなんもなかった おおお、すごいね。ガンガン落とせるよ。でも鯖の負荷がすごそう なのでsage進行の方が良いかな…。 ところで、これで落とした画像を閲覧するスクリプトとか、 どうやって作るんだろう? 手動でeeで見てるんだけど、再帰的に .jpgファイルを見るスプリプト?とかありそうなんですが。 やっぱ wget を fork して…ってのはみんな書くのね(笑) ウチの環境だと wget は 2 個くらい fork するのが一番 効率が良かったかなぁ。 # fork しすぎると timeout して、 # まともに取れなかったりして… >15 find ./ -name '*.jpg' -exec display \{\} \; とか? XEmacs の dired も、よく使いますけど。。。 迷惑画像URLリストとか、どこかにないでしょうか。 フィルタリングしたいですよね。 find ./ -name '*.jpg' |xargs ElectoricEyes 半角板のDATってどこにあるす? つーか何もないのはおかしいよね。 >>15 スクリプトじゃないけどgqviewとかpicviewとかじゃだめなん? http://とか ttp:// みたいにあえてコピペ用になってる物も 落とせる? >>17 同意. でも,迷惑画像っつーのは人によって異なるからね,一概には... 画像分析して妙に赤が多いのはハネるとかは欲しいかも. >>24 むろんOKです。 "ttp://"でひっかけてます。 >>25 その機能はつけたいんですけどね・・・ でも赤くない死体画像もあるし・・・ こういう時に1chのレス評価システムは 使い勝手があるんだな、と感じます 半角っていえば、天使とか鳥とかの半角用語?を含むURLをサポートしたスクリ プト書いた人居る?漏れは諦めた(w これ、できたら結構凄いよな… たしかに画像フィルタは便利かもしれませんが、 個人的にはこのスクリプトは画像をダイジェストできることに 特化して欲しいです。 できれば追加して欲しい機能 1.URL は違うけどファイル名が同じ場合のファイル処理 2. キーワードを追加( tp:// とか http:// など) 3.スレッドのスキップ(先頭から50個目のスレッドから開始など) 4. いっそのこと MPEG ファイルも対象に。 スレッドのスキップはスクリプトに追加して作ってみました。 もし希望があれば送ります。>1 スレをどこまで読んだか記憶して、次回はそれ以降だけを読むとか、 落としたファイルのアドレスを記録しておいてそのファイルは二度と落とさないとか そういう機能がないと、毎日同じファイルをダウンしてきてしまうと思うのですが どうよ? >>30 ご意見ありがとうございます。 検討して次期バージョンに反映します。 >>31 んーと現在の仕様では、同じファイルの画像が ローカルにあればダウンしないようになっていますので、 毎日同じファイルをダウンしてしまうというのはないです。 ただ落としたファイルのアドレスを記憶とかしてたほうが、 2回目以降の効率は良いですね。 コレ使うとスレの荒れ度がわかるね 荒れてるスレは死体画像多い。 あとなぜかペットの画像も多いNE! >>34 そういう説もある。 ttp://追えないけどね OSXにwget入れるのに小1時間かかりました。 でも成功、すごいぞUNIX、ありがとう>1 >32 そっか、俺は落としてきたファイルを 別ディレクトリに移動して整理していたんだが、 そうすると、また同じやつを落としてきてしまうんだな。 死体画像とかも残しておかないと、 また同じ死体画像を落としてきてしまうのだな。 >>28 その辺の隠語は限られているから、単純置換じゃダメかな… >>37 死体画像は同じファイル名でダミーのファイルとかを 置くとかすると良いかも・・・ 面倒なのでそのうちその辺もなんとかしたいですね >38 単純置換は無理っぽいですね。隠語はちょこちょこ増えてるみたいですし、 URLは省略されたりクイズで記述されたりもするので(w おいおいおいおいおい、2ch内とはいえ下手なスパイダー 動かすのはやめてくれ。転送量も鯖の負荷も増える。 やりたいやつは公開なんかしないで、自分で作ってひっそりと やってくれ。 >>42 まず、datファイルをgetして、それを元にすればよいかと思われ。 MacOSXの人って結構いるんだなぁ。 そういう漏れも。 >>44 俺もMacOS X 最近多いよね。 厨房UNIX使い気取りが増えてここの板の人は迷惑だろうけど・・ >>44 >>45 コンソール使う頻度はどれくらいよ? あんまり多いのも、それはそれで考えもんだけど。 一応Macだし。 同名のファイルがあった場合、ファイルサイズを調べて一致しなかったら 後ろに_01とか付けて保存するのは出来ませんか? >>48 できます。 その方法も考えたのですが、結局やりませんでした。 いらないかな?と思って。 同じような要望が多ければ導入を検討します。 wgetのオプションの中にそんな機能があった気がしますので、 ご自分で改造してみてはいかがでしょう。 $optionsにオプションを突っ込んでwget実行サブルーチンを 呼んでるだけですので。 試しにやってみたけどいい感じだぁよ、ありがとう。>1 要望とか考えると結局Iria先生みたくなるんだろうけど期待しちゃうよ。 なにってcronで動かしておけるから昼間だけの時限モノとか拾える可能性 あるってだけでピンコたんピキーンなれるし。 ただこの板でやるなら負荷、転送量減らしは最初に考慮する必要あるかと。 引っ越し間際のスレなんて生データで300kb以上になるのを毎回引っ張る のはやはり問題だと思うので、ツモって来たdat fileはローカルに保存して 再利用する方向で進めてはどうか。 同名異URI処理は取り敢えず後にしないと、考え無し厨房が全開で走らせる と思われ。 ねぇねぇ、これからもいじる気ある?>1 マジでcronで走らせてグロ画像getterになろうと思うだけどいぢっていい? perl なんてしばらくいじってないから思い出すとこからはじめるけど。 途中で切れちゃう画像とかあるんですが、どこをいじればいいですか? $limit = 3 $down = 2 で使ってますが。 >>50 datのタイムスタンプをチェックして再利用するようにしようかなぁ ご意見ありがとう。転送量軽減を目指します。 >>51 ぜひいぢってください >>52 117行目のwgetのオプション設定で調整できると思います。 -t や -w の値を調整すると良いかも。参考ページはこちらあたりをどうぞ http://seagull.cs.uec.ac.jp/ ~horiuc-m/wget.html 自分でSocket開いてRange: bytesヘッダとか使ってくれ。 つーかこういうもんはまともになってから公開してくれ FreeBSDでこのソフト使いました。 jpg/以下にたくさんのファイルがきましたが、 この中から、最適なファイルを絞り込むのはむづかしいですね。 タグ情報等から、分類できないのかなあ? もしくわ、winみたいに、一つ一つのファイルを簡単に表示 できたらまだいいかも。(サムネーム表示?) 今gimp使って、いっこいっこ開いてるけど、 もっと楽にファイル情報しらべれないかな? 今のままじゃ、ファイル名による絞り込み しかできないよ。 つーか誰かがこのスクリプトをcronで定期的に実行して 作成されたjpglistをどっかで公開すりゃいいんだよね それを元にiriaなりwgetなりで落とせばいい そうすりゃ負荷はかからんし >59 それおもろいね。 っつーか、 jpg をある程度の大きさごとにアーカイブしといてくれ(w ってコレはアクセスが集中してダメかにゃ。 A.ディレクトリ毎にサムネイル表示 xv [-dir 画像があるディレクトリ] ^v ^n .xvpics ^u B.一気にサムネイル作成 cd ベースのディレクトリ find [こっちで書いてもいいし] -type d -exec mkdir {}/.xvpics \; xv [そしたらこっちもか、やっぱやめ] ^v ^e C.見ているファイルを消す 見る ^d ^d D.ファイルを移動する ^v フォーカス戻す ^v 好きなようにDnDする E.マスク外す 適当に範囲選択 f アローキーで位置変更 Shift+アローキーで範囲伸縮 拡大は Ctrl+マウス Alt+j Shift押しながらパス入力 >>59 2chはそれでいいかもしれんが、リスト配布はヤメとけ。 厨房に凶器与えるのと一緒だ。 >>58 さんに絶句されたんですが、 みなさんは、どうやって画像みてるのですか? マジで教えてください。 厨房なんで、すみません。 グロ画像多すぎ。ホモ画像思わみてしまいかなりへこんだ。 Listアップするためのサーバーでも借りましょうかね。 Navi2chで取得したdatを使うようにできたらうれしいな あ,Navi2chで m a m i して,awkで抜いて,wgetすればいいだけか… >>55 XV の Visual Schnauzer とか使うのが一般的なんじゃないの?もっとも最近 の Linux の distribution なんかには XV の入っていない例もあるようだけ ど。ちなみにわたくしは xv 3.10a に各種 patch を当てて、FLMASK とかの復 元もできるようにしたのを使ってる。Linux でも *BSD でも特に問題なくコン パイルできると思うけど? XV って未だに使い方よくわかんない… メンドーなので、なんでもかんでも ImageMagick … キーボードマクロで+mamiするのをcronでまわしておくと、 便利というか迷惑というか。 便利と思うがなんであがらないのかな? ということで定期あげ。 ところで、画像集めた後の話だが、 同じ様な画像がたーくさんディスクの肥しになって 欝にならないか? そんな時は、dupmerge http://people.qualcomm.com/karn/code/dupmerge/ (QualcommのPhilip Karn作) 洩れは、 find . -name "*.[GgJj][IiPp][FfEeGg]*" -o -name "*.[Mm][Pp][EeGg]*" | dupmerge みたいにして使ってるよ。 >>76 sambaでwinにmountしているんだけれども、 この手のツールはwinのほうが充実していないでしょうか。 そりでは修正 find . -iname "*.[gjm][ip][feg]*" | dupmerge >>77 最近のwindowsは、ハードリンク出来るの? 消すんじゃなくてハードリンクする所が ミソなんだけど どの板も、途中でDLが止まってしまうのだよ。なんでだ?? >>81-82 Windowsでもハードリンク使えるみたい CreateHardLink これをMSDNかなんかでしらべれ Unixと全く関係ないが、サゲたら忘れそうなのでアゲ FAT でどうやって hardlink 作るんだ? NTFSならhard linkもsymbolic linkもできるよ。 あんまり使われてないのはFATだと使えないからかも。 symbolic linkをjunctionという、らしい。 ただこいつを使うと、WindowsのExplorerでさえ 摩訶不思議な挙動を示すことがあるというくらい、 ろくに使われてない機能。 思いつきとしか思えない機能追加が多いからな。 だったら DOS のころから linkfile をサポートしといてほしい。 DOSでFATでもハードリンク作れるYO! ただし、chkdsk.exeにクロスリンクと言われてしまう、諸刃の剣。 素人にはお勧めできない。ってやつだ。 やっぱり前回履歴に対応して欲しいなぁ。 毎日cronで走らせたいヨ。 >>92 俺使ってる。でもあれってsymlinkというのは詐欺だろう。 join(DOS)とかFreeBSDのunion fs & mountみたいのと言った方が正確 かな。で、俺が見つけてる不具合は 1.Explorerやインストーラの空き容量計算がmountに対応できてないので、 インストーラで(空きがあっても)「ねーよ」と弾かれたりする 2.MoveFile() APIがmountを考慮してないので、src/destが同じドライブ 名だけど別ボリュームの場合、ファイル移動に失敗する(API直/cmd.exe Explorer全滅) だな。 一応どっちも回避方法があるし、従来アプリは1.に対応できんというのは 仕方がない所でもあるんだが、2.はどう考えても(仕様変更への)追従ミス。 # 同一ボリューム内の移動の場合、ディレクトリエントリだけの書き換え # で高速化してるんだが、同一ボリュームかどうかの判定にsrc/destの # ドライブ文字しか見てないという。アホ。 ある板のある日の<a href="...">を一括表示してくれるようなサイトない? つくろうかな…。 >102 つくりはじめた。rawmodeを使おうかとも思ったけど、index.htmlをtidyでXHTMLに 変換してからXSLTで加工(XHTML to XML)して、XMLで日別にサーバ側に蓄積して、 CGIでXML選んでXSLTかまして(XML to HTML4)出力、みたいな感じにすることにした。 なんとなく。 とりあえず最初のXSLTまで書けましたわ。 >>106 面白いね ちょっと遊んでみるよ でもsage スレがばらばらに表示されるので、日付順、スレ順などのソートがあると嬉しいです。 あと、大量のリストを眺める作業になるので、スレタイトルは左揃えにしたほうが 視点の移動が少なくて良いんじゃないかと思います。 本業でヘロヘロになってました。109さんご意見どうも。 >スレがばらばらに表示されるので、日付順、スレ順などのソートがあると嬉しいです。 トップ画面に「発言日が最近のURLほど上に表示する」と「スレッド番号+発言番号 でソートして表示する」というラジオボタンをつけました。 >あと、大量のリストを眺める作業になるので、スレタイトルは左揃えにしたほうが >視点の移動が少なくて良いんじゃないかと思います。 確かにそうですね。左揃えにしました。スレッドでソートした場合、かなり見易くなったの ではないかと思います。 URLは相変わらず http://moso.borogrammers.net/newlin/ です。 >>113 のURLはなんか妙な表示になる気もするけど、良くなったと思います。 てーか誰か画面のデザインしてやれ。地味すぎるよ >>111 datは>>106 のviewerには無関係と思われ >>1 のスクリプトは、いまや改造しないとそのままでは使えないですね。 >>116 ,117 2ch のシステムはよく知らないんだけど現在では subject.txt と .dat は直接見れないんだよね? read.cgi から raw モードで取得するのかな。 その辺りを書き換えればオッケー。 >>117 118が書いてるように、今は $ita/subject.txt が見られないようだから、 まずオリジナルスクリプトの subject.txt は subback.html にでも しないといけない。 また、subback.html を参照するようにしたら、データナンバーの取り出し方も 変えないといけないね。いろいろなやり方があるだろうが、例えば http://love.2ch.net/morningcoffee/subback.html だったら <a href="1014421686/l50">6: 中澤裕子ファン倶楽部 96 (977)</a> みたいなスレッドのリストが得られて、要はこの中の 1014421686 を 切り出したいわけだから、38行目と60行目 ($data_no) = split /\<\>/ , $_; は、 @data = split /\//; $data_no = $data[0]; $data_no =~ s%\D%%g; とでもすれば $data_no に 1014421686 が入って、 あと、40行目の $target は、conf.txt に $host = 'http://love.2ch.net/' ; $categ = '/morningcoffee/'; を追加しといて $target = "$host"."test/read.cgi"."$categ"."$data_no"; として使っているが、もっとエレガントなやり方があったら誰か教えて著。 >>1 のサイト、アクセスできなかったんですけど 件のスクリプトを落とせるところは他にありませんか wgetでダウンロードしたファイルを ダウンロードしたYYYYMMDDという形式で 保存するにはどうすればいいのでしょう。 同じ名前でファイルが毎週更新されるので cronでそのままで回すのでは上書きされて しまいます。 % wget http://xxx.xxx.xxx/???.jpg -P `date +%y%m%d` ってのはダメ? 大量に引っこ抜くならこれでいいと思うけど。 -O --output-document=FILE FILE に文書を出力します。 >>125 > ってのはダメ? それでもかまわないのですがファイルは1つなので ディレクトリは作らずYYYYMMDD.jpgというファイル名 で保存したいのですが。 >>128 % wget http://xxx.xxx.xxx/???.jpg -O `date +%Y%m%d`.jpg (´-`).。oO(>>127 がすでに答えてくれているけど…なんでだろう?) >>128 > (´-`).。oO(>>127 がすでに答えてくれているけど…なんでだろう?) あの書き込みはヒントだったのですね。 ドキュメントと書いてあったので他の事かと思っていました。 ありがとう。>>ALL ある日付以降の書きこみに書かれているURLのみを 落としたいとかできるでしょうか? 一個のディレクトリに画像ファイル1400個置いてますが gimvでみるときに極端に速度が遅いです 数が多いとよくないんですね どーにかなりませんか? >>140 UNIXのファイルシステムは 一つのディレクトリにファイルがいっぱいあると遅いと 聞いたことがあるな (だからメールキューは複数のディレクトリに分かれてるらしい) 1400個くらいなら関係ないのかもしれんけどね 詳しい人フォローレスたのむ >142 (だから2chのスレッドは足切り制限があるらしい) (1つの板に数千のスレがあった時代は重かったなぁ…) 脱線スマソ うーん、誰も保守しようとか言う気はないの? ないよね。 >>142 ext2fsやオリジナルのufsは遅いが、たとえばufsでもUFS_DIRHASH入りものなら速い。 xfsあたりなら、なんもせんと速い。 結論: OSと、選んだファイルシステムによる。 チョトおしえてください。 IEからなら http://pc.2ch.net/test/read.cgi/unix/1003833552/ が見えるんですけど、wgetを使ってこのページをダウンロードしようとしても、 できないんです。どうやればいいんですか? て優香、wget使わなくても、httpget使えば便利じゃない? と思って、httpget落とそうとしたけど、内部エラーで落とせない・・・ http://www.onicos.com/staff/iz/release/ >>1 さんが作ったやつをちと効率的に収集できるように改造したけど、 どっかにうpしようかな? どうせやるなら、以前にもちょっと話出てたけど、一人が落としたファイルをどっかの鯖に キャッシュしといて他の人はそっちから落とせるようなの作ろうよ。そうすれば2ちゃんの 負荷も減るし、うpろだの負荷も減るし、ソッコーで消されたファイルもキャッシュに残って るしで、うっはうはーじゃん。 どうせなら落としたファイルがP2Pで共有されるようにするとか >>147 普通はdatファイルを直接落とそうとするのでは無いの? >>151 それやろうかな... 今はdatファイルを貯めているんだけど。 >>150 複数ファイル(.mpgとか.rmとかの動画)も同時に落せるヤシキモンヌ >>154 もちろんそういう仕様にしてあるよ。てかできたけど。 けどrm,ramはすっかりわすれてたというか、そんなのにちゃんで見たことないのだが。 >>153 て優香、datファイルを落とせるならそうしたいんだけど、やりかた 教えてーな。 たしかどっかでdatファイルは落とせなくなったとか聞いたような気がしたんで、 htmlをそのまま落としてマッチングしてるんだけど・・・ >>156 http://pc.2ch.net/test/read.cgi/unix/1003833552/ だったら http://pc.2ch.net/unix/dat/1003833552.dat でいけるのではないと? >たしかどっかでdatファイルは落とせなくなったとか聞いたような気がしたんで、 >htmlをそのまま落としてマッチングしてるんだけど・・・ これは俺も聞いたことあるけど、閉鎖騒動の時あたりじゃないの? 俺はそれよりあとに2ch来たからよく知らないけど、 read.cgiにアクセスするより、datファイルに直接アクセスしたほうが、負荷は減るらしい、と聞いたこともある。 >>156 とりあえず、俺の作ったdatファイルだけ落とすスクリプトも張っておこう。 粗末なシェルスクリプトだが... #!/bin/sh PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin DATE=`date +%Y%m%d_%H%M%S` if [ "$1" ] && [ "$2" ] && [ "$3" ] && [ "$4" ] ;then : else echo "useage: ./get.sh [dat|subject] [dir] [host] [ita] [waittime] [wget-flag]" exit fi HOMEDIR=/home/hoge/documents/data TARGET=$1 DIR=$2 HOST=$3 ITA=$4 LOGFILE=./wget_log.txt if [ "$5" ];then WAIT=$5 else WAIT=3 fi # -c tuchuukara # -N time stamp WGETFLAG="-t 3 -a${LOGFILE} -P./dat -U "Hogella/1.0" -nd $6" if ! [ -d ${HOMEDIR}/${DIR} ] ;then echo ${HOMEDIR}/${DIR} no such directry\! exit fi /bin/test -d ${HOMEDIR}/${DIR}/dat || mkdir ${HOMEDIR}/${DIR}/dat /bin/test -d ${HOMEDIR}/${DIR}/old_dat || mkdir ${HOMEDIR}/${DIR}/old_dat /bin/test -d ${HOMEDIR}/${DIR}/subject || mkdir ${HOMEDIR}/${DIR}/subject cd ${HOMEDIR}/${DIR} test -f ${LOGFILE} || touch ${LOGFILE} printf "###\n###\n### DATE=${DATE} \n### args=$* \n###\n###\n" >> ${LOGFILE} if [ ${TARGET} = subject ];then rm -f subject.txt wget -a${LOGFILE} -U "Hogella/1.0" http://$ {HOST}/${ITA}/subject.txt cp subject.txt ./subject/subject.${DATE}.txt elif [ ${TARGET} = dat ];then echo "---> DATE = ${DATE}" mkdir old_dat/${DATE} rm -f subject.txt wget -a${LOGFILE} http://$ {HOST}/${ITA}/subject.txt echo "---> got subject file" sleep 1 echo -n "---> dat file... " for DAT in `cat ./subject.txt | cut -f1 -d.` ;do echo "--->TARGET is ${DAT}" >> ${LOGFILE} echo -n "${DAT}" wget ${WGETFLAG} http://$ {HOST}/${ITA}/dat/${DAT}.dat if [ -f ./dat/${DAT}.dat.1 ];then echo "---> file moved to old_dat dir" >> ${LOGFILE} mv ./dat/${DAT}.dat ./old_dat/${DATE} mv ./dat/${DAT}.dat.1 ./dat/${DAT}.dat echo -n "_ " elif [ -f ./dat/${DAT}.dat ];then echo -n ". " else echo -n "X " fi sleep ${WAIT} done echo " " echo "---> all done" >>${LOGFILE} echo "---> all done" fi HOMEDIR=/home/hoge/documents/data を適当に書き換えて mkdir $HOMEDIR/test-dir ./get.sh dat test-dir pc.2ch.net unix 3 で使えると思う(freebsd以外は不明)。 2度目からは ./get.sh dat test-dir pc.2ch.net unix 3 -c で差分だけとってこれる。 あらほんと。 で、にちゃんの鯖に負担かけないように、前回収得した所からの差分だけ 拾いたいんだけど、どうやるの? うーん、 cgiから差分だけ拾うのと、datを全部拾って差分を調べるのとではどっちがいいんだろ? てか、dat拾う方がいいんだろうなぁ。作りなおしてみるか。 >>162 wgetのオプションで俺が使えると思うのは。 -c ファイルサイズを見て、増加分だけダウンロードする。 -N タイムスタンプを見て、ファイルが更新されていたら、(ファイルすべて)をダウンロードする。 -nc ファイルが存在したら、ダウンロードしない。(接続もしない) -t 3 失敗したときの再トライ回数(デフォルトは20なので、3ぐらいに設定したほうがよいと思う) -x ディレクトリを作って、URLを再現する (例 http://pc.2ch.net/unix/dat/0000000.dat → ./pc.2ch.net/unix/dat/000000.dat ) -nd -xの逆、ディレクトリを作らない。(-rは同時に-xが有効になるけど、-ndをつけるとディレクトリを作らない) -i link.txt ファイルからURLを読み込んでダウンロードする。 -nv ダウンロードメッセージをいくらか静かにする。 -A acclist, --accept=acclist acclistで指定した拡張子(?)のみダウンロードする。,で区切る(?) -U "Mozilla/4.0" ユーザーエージェントをちょろまかす。 -P PREFIX --progress=dot ダウンロード中のメッセージスタイルを変更。 -o hoge.txt ログファイル(上書きしてしまう) -a hoge.txt ログファイル(追加から書く) -r リンクをたどり、再起的に取る(ただし、別のホストはダウンロードしない) -w 3 再起的にとる場合のダウンロードしたときの待ち時間 --no-parent 再起的にダウンロードする際、親ディレクトリから上はダウンロードしない。 -nd >>164 失敗。 wgetのオプションで俺が使えると思うのは。 -c ファイルサイズを見て、増加分だけダウンロードする。 -N タイムスタンプを見て、ファイルが更新されていたら、(ファイルすべて)をダウンロードする。 -nc ファイルが存在したら、ダウンロードしない。(接続もしない) -t 3 失敗したときの再トライ回数(デフォルトは20なので、3ぐらいに設定したほうがよいと思う) -x ディレクトリを作って、URLを再現する (例 http://pc.2ch.net/unix/dat/0000000.dat → ./pc.2ch.net/unix/dat/000000.dat ) -nd -xの逆、ディレクトリを作らない。(-rは同時に-xが有効になるけど、-ndをつけるとディレクトリを作らない) -i link.txt ファイルからURLを読み込んでダウンロードする。 -nv ダウンロードメッセージをいくらか静かにする。 -A acclist, --accept=acclist acclistで指定した拡張子(?)のみダウンロードする。,で区切る(?) -U "Mozilla/4.0" ユーザーエージェントをちょろまかす。 -P PATH PATHを基準にファイルを保存 --progress=dot ダウンロード中のメッセージスタイルを変更。 -o hoge.txt ログファイル(上書きしてしまう) -a hoge.txt ログファイル(追加から書く) -r リンクをたどり、再起的に取る(ただし、別のホストはダウンロードしない) -w 3 再起的にとる場合のダウンロードしたときの待ち時間 --no-parent 再起的にダウンロードする際、親ディレクトリから上はダウンロードしない。 WINDOWSのiriaとか見たいに、帯域制限してダウンロードすることができないか、 は調べたことあるけど、方法が見つからなかった。wgetではできないのでは無いかと思う。 代わりには、-wで制限するか、スクリプトの中にsleepを入れる方法があると思う。 あと画像ファイルを落とすとき、-x と -nc を組み合わせて使ったら、同一のファイルをダウンロードする問題はなくなると思う。 >>158-160 の欠点は、あぼーんでlogが詰まったら、不適切なところから、ダウンロードを開始してしまうため、 変なdatファイルを作ってしまう。これは-Nですべてをダウンロードしなおせばいいけど、負荷が増える。 >>163 うーん、-nc -x オプションで、すでにダウンロードしてあるファイルをダウンロードしないようにするか、 もしくはwgetで何バイト目からを指定して、別ファイルにダウンロードすることができるような、オプションがあるかも.. >>162 wget -c で増加分をダウンロードできるらしいです。 これは、ダウンロード途中でコネクションが切れたりして、 あとからその続きからダウンロードしたい場合にも使えるようです。 遠くのftpサーバとかに使えます。 >>167 さんくすこ。 スレログとらなくても、リンクさえ拾えれば大丈夫だからねぇ、 あぼーんされても大丈夫だと思う。 というわけで、増分だけ拾うようにしますわ。 dat落ちするかとおもったけど なんかまたあがってきてるんで ひさびさにバージョンアップしようかな というか、つかってる人(使う人)とかいるんでしょうか? >>173 え?どこ? さっき作ったばかりだからおかしいところあったら指摘して〜 >>171 >>1 さんキタ━━━━━━(゚∀゚)━━━━━━━!!!!! >>171 つか、使うかどうかより、自分で作ってみるのも楽しいのかも。 1さんのも参考にしたいのでオネガイシマス。 >>174 いやこんなんでたから。 ゴミレススマソ。 --- get2ch_v006/get2ch.pl tar: get2ch_v006/get2ch.pl: time stamp Jan 7 21:00 2003 is 85213 s in the future get2ch_v006/get2chrc.txt tar: get2ch_v006/get2chrc.txt: time stamp Jan 7 21:00 2003 is 85213 s in the future get2ch_v006/readme.txt tar: get2ch_v006/readme.txt: time stamp Jan 7 21:00 2003 is 85213 s in the future get2ch_v006/subback2subhash.pl tar: get2ch_v006/subback2subhash.pl: time stamp Jan 7 21:00 2003 is 85213 s in the future >>176 ・・・なんかちょうど1日ずれてるような。 て優香、wget使わなければforkしなくていいからActivePerlでも使えるようになるし、 Irvineでも使えばwgetよりはるかに効率的に収集できるし。 あーあ、UNIX板で気付いちゃいけないことに気付いちゃったよ。 >>179 萌え板を監視、って具体的に何できればいいんだ? と優香、萌え板って何?ファイヤーウォールのこと? 説明不足でした。 こんな感じの掲示板です。 http://www9.xdsl.ne.jp/ ~w2web/moe/moelinks.html 萌々ぼ〜どって言うのかな? ソノテの人の画像アップ掲示板として広く使われてるみたいです。 欲しいのは画像をいっきに落とす・・ですが できたら全てのページをログも含めてHDに保存できるのが好ましいです。 >>182 そうか、wgetの-rオプションだけでは画像アップローダーの 2ページ目以降のがとってこれないのか... うーむ >>182 なるほど。理解した。 VBスクリプトなら、次のページをめくるボタンを押すスクリプトが簡単に書けるけど、 Perlとかだとどうやってやるんだろ? wgetでpostできるようにするパッチあるよ ttp://pluto.im.uec.ac.jp/~sekita-n/prog/ CGIを激しく呼び出してアク禁喰らっても知らないけど >>184 cgiを読んだら、POSTを送ることでページをめくるようになってた。 perlだったら直接サーバと繋いで、POSTを直接送ればできるのでは? またはhttp://hoghoge/moemoe.cgi?page=3 でページを直接指定して(GETでも)ページを開けるらしい。 ところでwgetでPOSTを送ることってできないよね?(wget厨ですまそ) >>185 リロードしたらみました。 すまそ。試してみます。 wget以外でPOSTを簡単に送れるツールを以前どこかで見たことあったけど。。 >>181 Irvineもコマンドラインから使えるけど。 irvine list.txt で、URLリストを入れられる。 cronで回すのでなければ、Win上でやったほうが簡単かも。 その萌え萌えなんちゃらってやつな、moemoe.htmlと同じディレクトリにある moemoe.logってのがログファイルだからそれ落とせ。画像のURLも載ってるから。 CGI叩くのやめれ。 >>172 なんかデリられてるみたいなんで差異うpキボンヌ、クレクレ君でスマソ >>192 ゴメソ。 cgiからゲトーしてるので下手するとアク禁になっちゃうから今消してる。 もうすぐ次バージョンうpするからまってて〜(;´Д`) >>192 うpしたよ〜 急いで書いたからちゃんと動くかわからないけど。 >>196 さっきの動かなかったから、差し替えますた。 >>197 まだ時計がずれてない?(w 勘違いだったらスマソ。 ちょっと読んで気になったのは、 スレッドの差分を取ってくるときのwgetのオプションで-cと-ncの両方を指定しているけど、 これって両方あったらまずくないの?>>165 あと、datファイルを連続してダウンロードしたら、2chの負荷が大きくなってまずいと思うけど.. >>198 あらほんと。 -cと-nc一緒に書いちゃってるけど、一応動いてるし、ダウンロードの 速さからして差分だけ落としてるように思ふ。 て優香、汚いソースを丁寧に読んでくれてありがd datは差分だけ落としてるから連続ダウソも大丈夫かと思ったが、 やっぱヤバイかね?間隔あけた方がいいかな? あと、wgetのダウンロード速度が遅くていらつくんだけど、なんか解決方法 ありませんか? >>199 いや、ちょっとmonazilla関係のスレをよんでたら、 いかにサーバの負荷を減らすかいろいろ考えられていて、 この、datファイルを総ざらいするのも極力避けた方がいいかと思ってきた。 やるとしても、負荷の低い時間帯にかなり間隔を開けて行った方が良いかと... >ダウンロードの >速さからして差分だけ落としてるように思ふ。 -ncはすでにファイルが存在したら、ダウンロードしないので、ダウンロードされていない可能性は? >>201 今 -nc消したやつをうpしたよ。 だけど、-nc消したらなんだか速度が遅くなったような・・・ あと、日時がバグってるのはアーカイバーがおかしいらしいことが分かったよ。 だからキニシナーイ >datファイルを総ざらいするのも極力避けた方がいいかと思ってきた。 なるほど。一応スレのレス数見て更新されてるか確認してから各スレの差分をダウソ するようにしてるけど。もっと負荷を減らす方法ないでつかね? cronで回すなら、10秒おきに更新されてるスレを1スレずつ巡回みたいなことも考えられるけど。 >-ncはすでにファイルが存在したら、ダウンロードしないので、ダウンロードされていない可能性は? 一応ダウンロードされてるようだが・・・謎。 まぁ直したし。 >>202 速度で判断するより、wgetのログをちゃんと見た方がはっきりするかと... >>203 -ncつけてるやつはログが消えちゃったけど、-nc消したやつのログみたら 全部落としてるみたい・・・鬱 (´-`).。oO(画像掲示板から落とした方が簡単なのに、なんでだろう…) >>205 ソレダ━━━━━━(゚∀゚)━━━━━━━!!!!! にちゃんねらがよく利用している画像掲示板を巡回すれば、良質なジェイペーグが 集まるよな。 >>206 同一のアドレスがたくさん・・・sortしてuniq通せよな〜、と。 >>206 さらに1時間更新とか... どんなシステムか気になる。 >>207 Windowsでは画像掲示板を巡回して画像をダウンロードするソフトを聞いたことあるけど、 人参収穫か大根収穫とか名前だったか... まあ、crontabで自動で回してみたい この画像掲示板はPOSTじゃないと見れないみたいなんですが、w3m等の POSTがしゃべれるツールで画像をダウンロードする方法が分からないのですが、 分かる方いらっしゃいませんか? ttp://sss.direct.ne.jp/nuke/bbs.cgi >>210 とりあえず>>191 の様にログが保存されていないか探してみるとか? imgboardはデフォルトではfile.dat、fileback.datって名前だったような... ただ、ログファイル名変えてたり、アクセス権を切っている可能性があるので(俺もだけど) このばあいは>>209 を試してみるとか? 下手にperlでPOSTを送ったりするのはやめた方がいいと思う >>210 てか、右クリック→名前を付けて保存ではいけないのか? もしくはman w3m >>210 上のほうで出てるパッチを当てたwgetだとこんな感じ? #!/bin/bash url="http://hoge.com/hoge/imgboard.cgi??page= " img="/hoge/img-box/" lastpage=10 i=0 while [ $i -lt $lastpage ] do i=`expr $i + 1` echo $url$i >> list.txt done wget -r -w 1 -I $img -i list.txt -o wget.log rm -f list.txt >>241 普通に wget "http://hoge.com/hoge/imgboard.cgi?page=2 " でもいけない? >>215 それはやめとけ。 下手したら悪禁になるかもしれないらしい java版を作ってみますた。 http://gobo.free-city.net/ ※javaの実行環境が必要です。 ※Windows、Macでも動くかも。 >>218 ネタでつか? 鯖がみつかりませぬ・・・ あれ?確かに見つかりませんね...。 って、鯖ごと落ちてる? 昨日まではアクセスできたのにな。今日話題になってるSQLPの影響かなぁ? >>222 ここでは話題になってないのかな・・ ttp://dailynews.yahoo.co.jp/fc/computer/internet/ >>221 たった今、鯖が復帰していることを確認しますた。よろしくおながいします。 いちお、間借りしたところは、 The site gobo.free-city.net is running Apache/1.3.27 (Unix) on FreeBSD なので今回の騒ぎで落ちちゃったわけではなさそうですが。 どうやらUAをいじらないとdatファイルを直接getできなくなったらしいが UNIX コマンドだと標準で巡回コマンド付いてきますが、何か? Mac OS 10.2 のターミナルで実行しました そしたら、 pl {-input <binary_file>} {-output <binary_file>} Reads ASCII PL from stdin (or serialized file if -input specified) and writes ASCII PL to stdout (or serialized file if -output) なんて出ちゃって、もうわかりませぬ どうかおしえてください。。。 おながいします。。。 おお! このスレまだ存在してたのか。 息が長いな。 山崎先生のおかげですね。 >>185 のページ見れないんですが、引越し先知ってる人います? >>233 とりあえずWayBack Machineで拾えた このスクリプト使ってみたよ。 板一枚で 7500 くらい画像がとれた。終わるのに丸一日かかったけど…。 濃淡分布や周波数分布なんか使って、グロ画像や 虹板に紛れ込んだ三次元画像(これもグロ画像か…)を取り除きたいなぁ。 グロ画像は「怖くてみられないグロ画像を鑑定するスレ」があったね、 それを学習データにして…… マンドクセ >>244 一度やってみたいな。グロ画像はともかく、3次元(or2次元)排除なら フーリエ解析+自動学習 で割と精度がでるような気がするのだが。 例のベイジアンフィルタな感じで。さて… >>246 >>247 なんだよ保守か? 何か書けよ! 保守。 >>244 みたいな感じで2次元画像の属性分けできればいいな。 濃淡分布や周波数分布の勉強にいいホームページor本教えてください。 >>251 責任を負っかぶることをものともしない猛者。 >>1 とりあえず、使ってみる... これはCGIか?ブラウザで実行しろと? まぁ、Linuxしかインストールしていない漏れのPCにはありがたいがな。 鯖にうpしてみる。分からない事があると思うから、>>1 教えてな! ウワーーーーーン 早速だが>>1 よ。質問がある! ディレクトリにある conf.txt は変更する必要があるのか? $ita = 'http://choco.2ch.net/ainotane/' ; $dir = './jpg'; $limit = 999; $down = 2; $ita は、2ちゃんの板のアドレスでおkなんだな? イメージサーチャーモナー? ttp://www.abars.biz/search/ 一度でもdownloadしたファイルをmd5sumしてsum値のリストどっかテキスト に保存しといて、同じsum値のファイルを二度とdownloadしないように してくれる重複避け機能を追加してください。 vdvdvdv nfdfdnfdn fhffhh jrtyjr yteryery yeryer >>265 ソース公開されてるんだから自分でヤレ。 ってすげー前のレスだった・・・。 _ |O\ | \ キリキリ ∧|∧ \ キリキリ ググゥ>(;⌒ヽ \ ∪ | (~) ∪∪ γ´⌒`ヽ ) ) {i:i:i:i:i:i:i:i:} ( ( ( ´・ω・)、 (O ⌒ )O ⊂_)∪ >大阪府三島郡島本町の小学校や中学校は、暴力イジメ学校や。 島本町の学校でいじめ・暴力・脅迫・恐喝などを受け続けて廃人になってしもうた僕が言うんやから、 まちがいないで。僕のほかにも、イジメが原因で精神病になったりひきこもりになったりした子が何人もおる。 教師も校長も、暴力やいじめがあっても見て見ぬフリ。イジメに加担する教師すらおった。 誰かがイジメを苦にして自殺しても、「本校にイジメはなかった」と言うて逃げるんやろうなあ。 島本町の学校の関係者は、僕を捜し出して口封じをするな >島本町って町は、暴力といじめと口裏合わせと口封じの町なんだな 子供の時に受けた酷いイジメの体験は、一生癒えない深い傷になるなあ 「暴力とイジメと口裏合わせと口封じ」の町やそういう町に巣食うヤクザ・チンピラ・ゴロツキ・不良・ いじめっ子・ダニ・ノミ・シラミなどを監視して非難するのは暮らしやすい町を作るのに必要だ 誰でも簡単にパソコン1台で稼げる方法など 参考までに、 ⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。 グーグル検索⇒『宮本のゴウリエセレレ』 26UOUCYMZ2 知り合いから教えてもらったパソコン一台でお金持ちになれるやり方 時間がある方はみてもいいかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 A4Y4N read.cgi ver 08.0u [upliftProject] - 2023/07/09 Walang Kapalit ★ | uplift ★ 5ちゃんねる