なんかてきとうにスマートフォン用の表示で見るなんかてきとうにわりと個人的な忘備録的ですよ。この広告は、90日以上更新していないブログに表示しています。初めに大体タイトルの通りなので割と読むだけ時間の無駄です。書くのも時間を無駄にした感が半端ないです。私とクローリング私がWebページをクローリングしようとした最初のきっかけは、とあるテキスト系サイトのテキストを読み逃しなく読みたいという欲求からでした。当時、個人でWebサイトを持つのが普通になって、みんなhtmlタグをポチポチ自分で打ってた頃、過去ログなんて存在しない!みたいなテキストを不定期に更新するだけのページが存在しました。RSSとかそんな良いものもなく、とりあえず毎日見てれば逃すことはないだろうという雰囲気があったころ。毎日巡回するってまぁ大変で忘れますよねって、そこで毎日クローリングして変化があれば保存するというそれだけのスクリプトを書きました、perlで。何のひねりもなく、常時起動してるWindowsマシンのタスクスケジューラに登録して毎日巡回させてました。以来、RSSが登場してもRSSなんか見ないので、結局そのテのものはデイリーくらいで巡回させて拾うようにする癖がつきました。私とスクレイピング私がWebページのスクレイピングをしようとしたきっかけは、画像掲示板でした。当時、画像掲示板なるものが流行り、いわゆる二次加工な二次元壁紙をひたすらいろんな人が貼るだけの掲示板というのが大量にできました。双葉とかしおからとかsweetnoteとかいちごとかいろいろ。いう画像を見るわけでもなく、ひたすらHDDの肥やしにするということに無駄に熱を注いでいる時期がありました。当然ながら、効率よくデータを集めたくなるのが心情というものです。巡回ツールが出回ったりするわけですが、当時はまだWebサイト側の回線も貧弱だったり、ホスティングサービスの無料プランでは大量にダウンロードされたりするとすぐ従量限界に達して503しか返さなくなるみたいなこともあり、メジャーどころの巡回ツールはだんだん対策されるわけです。一例として、refererを見たりUser-Agentを見たりするようになりました。cookieを使い始めるものもありました。頑張ってるところでは、メインページにサムネイルと個別ページへのリンク、個別ページでimgタグを利用して画像を張り付けているもの(サムネイル、個別ページ、画像本体のアドレスが結構バラバラでちゃんと追わないと拾えない)や、通常の画像と同じようにhtml上では記載されているけれど、Webブラウザで見ると見えないようになっており、そこにアクセスすると一定時間IPAddressによる制限が入って閲覧できるなるもの、等、だんだん趣向を凝らしたものになっていったりしていました。そこで、ツールに頼っていると対応待ちが発生するなど、不便極まりないため、やっぱり自分で作ることになります。そんなに頑張って探したりもしてないので、クローリングに適したフレームワークが当時存在したのかどうかは定かではないのですが、そういうのは利用していませんでした。htmlを適当に解析して、画像のURLをひろいだして、ファイル名一致でダウンロード済でないか確認して、持ってなければダウンロードみたいな単純なところから始まり、可能な限り人間がたどるのと同じようにたどって画像をダウンロードする、そんなところにばかり力を入れていました。perlで、perlにはLWPという素晴らしいモジュールが存在しまして、refererやcookieも当然のように扱え、この手の巡回にはとても便利だったのを覚えています。画像掲示板自体は、いくつかの種類の掲示板スクリプトがとてもよくつかわれていたので、やっぱりそういうのに対応できるように作っていくわけです。掲示板が数種類の累計に分類されるので、スクリプトのつくりも、クローリングする部分、htmlを解析して画像URLを回収する部分、次のページを指定する部分、画像をダウンロードする部分など、適度に交換可能な形で作るようになりました。今だといろんなフレームワークが便利にやってくれる部分ですね。いいですが今でも当時の画像ファイル群がHDDに埋まっていたりします。1024x768とかでもまともなサイズだったんですよ。ちなみに、このころもrobots.txtなどはありましたが、そんなのは見もしていませんでした。それが原因で揉めたような話も聞きませんので、牧歌的な時代ですね。いくつか試した巡回ツールにもそんな機能はなかったんじゃないかと思います。某漫画家さんのサイトがちょうど過去ログ残さず、テキストと画像が不定期に差し変わるというサイトと、時間や数量制限のある、メディアプレイヤー向けskinをアップロードする掲示板の2か所くらいしか巡回していません。今はperlではなくpythonを使っていて、普通にhttp.clientとかurllibで書いています。巡回してデータを拾ったらtwitterにDM送るようにして、貯めるだけ貯めて見ないという状況をなくす工夫もしています。言っても、言語が変わってもやっぱりやりたいこと、その方法はそう大きく変わらず、今でもフレームワークを利用して......みたいなことはやっていません。secret)このあたり、もうちょっと進歩すべきなんだろうなぁと思っています。来年は、クローリングのためのフレームワークをちゃんと使えるようになりたいですね。終わりにそんなわけで、ほんとに糞みたいなというかまさに糞そのものな記事を書きました。10:11アドベントカレンダーの最後を糞な記事で締めくくりたい!Tweet広告を非表示にする関連記事2014-11-11お勉強LPIC303終わってしまったのでセキュリティの勉強は休憩。なんも情報ない感じのやつx264で実写動画をエンコード月別アーカイブはてなブログをはじめよう!calkinosさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。