はてなキーワード: クローラーとは
---------------------------------------------------------------------------
---------------------------------------------------------------------------
前回の続き
苦労の甲斐があってエロサイトのおおまかな枠組みはできてきた。
ここまできて僕は、どうやったらwebサイトとして機能するのだろう(ヤフーとかグーグルとかに載るんだろう)?
という疑問を持った。とゆうか最初にその疑問を持てという話でもあるが、とにかく僕は急にそう思い始めた。
とりあえず、キーワードはサイト名の「動画エロサイト」でお願いしまつっ!!!!
(期待に胸をふくらます僕)
「分からん」
先生またご冗談を。全知全能の先生がそんなはずないじゃないですか。
何百位でもかまわないですよ。まだ始めたばっかりですから。
それでは、先生、改めて僕のサイトの順位のご発表をお願いします!!
ドゥン!ドゥルルルルルルルルルルルルルルルルルルルルルルルルルゥ!!
「載っとらん」
Σ(っ゚Д゚;)っ
検索エンジンは「クローラー」とか「スパイダー」と呼ばれるプログラムを使って、web上に存在するページの情報を集めるらしい。クローラーがウェブ上を自動的に巡回して集めたデータをデータベースといういわばデータの貯蔵庫のような所に登録する。
この事をインデックスする(される)などと呼ぶらしい。
なんだか僕の知らないところで、とんでもない事が起きている気がしてきた。
とにかく、サイトはこのインデックスというのをされていないと、Googleやヤフー(のちにヤフーはGoogleの検索エンジンを使っている事が判明)Bing、infoseekなどから検索する事ができない。
クローラが巡回にくるタイミングはまちまちで、すぐインデックスされる事もあれば、何カ月もされない場合があるらしい。
どうしてもインデックスされないのなら下記の原因を疑ってみた方がいい。
クローラーに発見されやすいサイト構成や、Googleウェブマスターツールへのサイト登録をして、
クロールされやすい記事、サイトから、クロールしてもらいたい記事へのリンクを張っていくことも重要です。
Googleウェブマスターツールへのサイト登録&サイトマップ送信
などの改善を行なってください。
このガイドラインを見ると、Googleはどのような行為に対して不正とみなすのかを確認することができます。
Googleが提供するガイドラインに違反することで、ペナルティを受けてしまった場合には、最悪インデックス削除の可能性もあります。
インデックス削除はかなり重いペナルティであり、それが解除されるまでには時間がかかります。最悪の場合、悪質なサイトであると認定されてしまい、インデックスされないドメインとなる可能性もあります。ですから、Googleのガイドラインはしっかりと読み込んで、気をつけてサイト運営を行ないましょう。
この原因に関しては、かなりSEOの知識のある人でないと、そもそもクローラー制御タグや記述を利用する事がないので調べる必要はないと思いますが、一応書いておきます。
インデックスさせたい記事のmetaタグに以下の設定が入っていてはインデックスされなくなる。
noindex このページはクロールしても、インデックスはしない
nofollow このページはクロールしても、ページ内リンク先はクロールしない
インデックスさせたい記事へ外部からリンクを送る場合において、nofollowをmetaタグ内に記述しているとインデックスされにくくなる。
以上の点について、改善していきましょう。
インデックスはクローラーにクロールされやすいサイトを作成し、
リンクを用いて露出を増やし、Googleのガイドラインに違反しないよう気を付ける
う~ん。なるほど。ここら辺はかなり重要だなあ
htmlを勉強したときにメタタグの事は調べたので、もう一度確認したらすんなり頭に入った。
あとは、ウェブマスターツールなるものに登録して、「サイトマップ」ていう単語も出てきたから
これも後で調べよう。
よしもう一度僕のサイトを確認してみよう(^-^)p
つづく
bootstrap使ってもカッコよくできないよ?
プログラマー向けじゃないの?
bootstrap3 の公式サイトを見ながら
CSS,Components,Javascript のタグにあるサンプルを全部作ってみた。
あまりの面倒臭さに一度諦めた。
その後色々調べたら「simple_html_dom.php」の存在を知る。
スクレイピング作業が一瞬にして終わった。
メールの設定がどうしてもできない。
エラーも出ていない。
一度諦めた。
info@xxxx.com
危ない名前は使わないのは基本だよね。
MyIsamだとインデックスに容量制限があるのでInnoDB使用
数1000件のデータなのでキャッシュやインデックスいらなかったかも。
デザイナーがプログラムやるのって後者の方が敷居は高いとは思う。
でもプログラムは勉強できるけどデザインってセンスがなきゃどうしようもない。
もう少しデザイン頑張ってみる。
デザインの教本読んでみると
思わずスクショに撮っちゃったんだけど、『はてな匿名ダイアリー』のエントリの題名で
携帯から検索をかけたら、「48 secs ago」という表示が題名の後に表示された。
yahooのリアルタイム検索で、自分のTwitterの投稿内容がどれくらいで反映されるのか
セルフ検索にかけてみたことはあるけど、一分以上はかかっていたと思う。
yahooのリアルタイム検索で、専用サーバーだか線だか引っ張ってきて特殊なAPIを叩いてるだろうことを考えると、
上記の一般検索で「48 secs ago」というのはなんか、もう、異次元入ってる。OpenGrokよりわかんない。
クローラーでやっている技術的内容が全く想像できない。論文とか検索したら出てくるのかしら。
たまたま、タイミングがあったにせよIFに普通「secs」を用意する?
「Twitter等リアルタイム性を求めるソーシャルサービスが出てきても
Googleなどの従来型インデクサーが即時検索を可能にするとは思えない。
従って技術的イノベーションが起きるとすれば、これからはレコメンドエンジンだっ!」と
言い放っていたのがちょうど四年前あたりだったと思う。。。四年であの教授は形にできたのかしら。
Googleは多分地味だけど確実に本業も進化してるんだと思う。あんまり話は聞かないけど。
はてな匿名ダイアリーのエントリタイトルが、特に変わった言葉がなくても
Googleの上位に来やすいのは、「はてな匿名ダイアリー」を一つのブログとしてみたときのPV数の多さ、
ぐらいしかSEO対策をしたことがない素人には想像つかない。それを思えば、PVが多いところに
ある程度ウェイトを置いてポーリング監視っぽいことをしてるのかなとも思えたが、
星の数ほどあるウェブサービスをして、それはないと個人的には思う。
お前らニュースサイトがPV乞食になって、くだらねー原稿を細切れにしてページ分けするのが鬱陶しいからこんだけsmart newsが落とされるんだろうよ。
タイトルで釣って、感想や憶測だけのオチ原稿とか、まじで時間の無駄極まりない。
お前らこそPV小銭稼ぎのために人様の貴重な時間を盗むんじゃねーよ。
PV水増しのためにお前らが読者に強いてる読み込み時間による機会損失とか考えたことあるんか?
偉そうにsmart news責める前に自分らのサイトがユーザー目線で使いやすいか考えてみろよ。smart newsを使ってるのはお前らの読者様だろうが。
ざっと原稿みてゴミ記事を判断できるsmart newsは超便利。それは間違いない。
これの事だろ。
つか、PC版でも「Program Files」フォルダに、専用のフォルダを作らず直下にそのまま実行ファイルやら何やらをぶちまけて、しかもその状態でアンインストールをすると「Program Files」フォルダを丸ごと全消ししようとするという、お前はどこのプログラム初心者なんだというような事やらかしてたし。
NAVERだった頃はGoogleクローラーを詐称してネット巡回してた。
とにかくあの会社に関係するものには近寄らないのが一番良い。プライバシー情報の塊みたいなスマートフォンに入れるとか正気の沙汰じゃないよ。
「みんなの役に立つサイトを作って、一発大きく儲けたい!」と、
思い続けて、早10年(泣)。。
とりあえず、エロサイトを作るのってすごく勉強なる?楽しい?らしいので、
誰にも利用されない「へぼツール」作るより必ず誰かの為になるなぁと考え、
できるだけ、誰でもわかるように、詳細を書いていますので、
これを見るだけで、ノンプログラマーの方でも、
※記事は毎日10件更新予定です。つまり毎日このサイトだけ見に行けば困らないってことです。
http://anond.hatelabo.jp/20101219185436
http://anond.hatelabo.jp/20101203150748
http://d.hatena.ne.jp/inouetakuya/20120331/1333192327
http://anond.hatelabo.jp/20120318122617
http://anond.hatelabo.jp/20120914214121
http://anond.hatelabo.jp/20110804021353
http://anond.hatelabo.jp/20120926165533
saasesのVPS OsukiniサーバーLT メモリ512MB 月450円! アダルトOK
CentOS 64bitを選択。(メモリを食うだけなので、特に用がなければ、32bitにしよう!)
※どこにも書いてないけど、2週間以内なら取り消しできます。
☆契約時、webmin&mysqlの選択は必須にしておいたほうがいいです。私は間違えて、webmin無しにしてしまった。。
後から、再インストール(初期化)すれば、再選択することができるようです。。
申し込み後、たったの30分で接続できるようになりました。
をバリュードメインで取得。280円!安い。
/sbin/chkconfig auditd off
/sbin/chkconfig autofs off
/sbin/chkconfig avahi-daemon off
/sbin/chkconfig firstboot off
/sbin/chkconfig kudzu off
/sbin/chkconfig lvm2-monitor off
/sbin/chkconfig mcstrans off
/sbin/chkconfig mdmonitor off
/sbin/chkconfig messagebus off
/sbin/chkconfig netfs off
/sbin/chkconfig nfslock off
/sbin/chkconfig portmap off
/sbin/chkconfig rawdevices off
/sbin/chkconfig restorecond off
/sbin/chkconfig smartd off
/sbin/chkconfig xfs off
※190MBが150MBぐらいになります。
http://support.saases.jp/index.php?action=artikel&cat=63&id=312&artlang=ja
# vi /etc/httpd/conf/httpd.conf
NameVirtualHost *:80 ←これを探して、コメントアウトを削除。その下に以下を設定。
DocumentRoot "/home/ユーザーID/iphone-xvideos.info"
ServerName iphone-xvideos.info
<Directory "/home/ユーザーID/iphone-xvideos.info">
order deny,allow
Options FollowSymLinks
# /etc/rc.d/init.d/httpd restart
「httpd: Could not reliably determine the server's fully qualified domain name, using...」
その時はこちらで解決⇒http://d.hatena.ne.jp/uriyuri/20100511/1273575287
で、このままだとIPアドレスでもアクセスできてしまうので、以下もやっておく。
http://fedorasrv.com/memo/log/29.shtml
mkdir /home/ユーザーID/iphone-xvideos.info
chown ユーザーID /home/ユーザーID/iphone-xvideos.info
/home/ユーザーID/以下はpermission errorとなりアクセスできないので、権限を変える。←いいのかな?
http://blog.verygoodtown.com/2010/02/centos-apc-install-how-to/
↑これを実行した際に、「error: expected specifier-qualifier-list before 'pcre'」なんちゃらっていうエラーがでたので、以下を実行。
再度実行して、無事インストールできた。
【APCの設定】
extension=apc.so
[APC]
apc.enabled = 1
/ ←検索
n ←次の検索文字へ
]] ←最後尾に移動
:q! ←保存せずに終了
--------------------------
# /etc/rc.d/init.d/httpd restart
vi /home/ユーザーID/iphone-xvideos.info/index.php
phpinfo();
?>
http://tanaka.sakura.ad.jp/2011/05/centos-linux-apache-php-perl-mysql-lamp.html
↑これを参考に適当に変更してみた
MaxClients 256 ←これを40に
MaxRequestsPerChild 4000 ←これを1000
このサーバは、512MBしかないからもっと小さくしたほうがいいのかも。。
# ab -c 10 -n 100 http://iphone-xvideos.info/
【変更前】
Requests per second: 40.01 [#/sec] (mean)
【変更後】
Requests per second: 137.57 [#/sec] (mean) ←1発目
Requests per second: 552.79 [#/sec] (mean) ←2発目以降(キャッシュ後)
最新版をやってみるとエラーが発生。
「サーバーの PHP バージョンは 5.1.6 ですが WordPress 3.4.2 は 5.2.4 以上のみでご利用になれます。」
3.1系を選択する。。
http://ja.wordpress.org/releases/
※↑結局、後日phpとmysqlのバージョンアップをやりました。
ソースをUP
DBを作る
ホームの「新規データベースを作成する」と書いてある所の下にある、
を修正する。
【プラグイン】
WPtouch ←/wp-content/plugins/wptouch/themes/core/core-header.php をちょこっと変更すればiphoneでxvideo再生ができる。
○人気記事一覧
http://the-fool.me/wordpress/plugins/wordpress-popular-posts.html
設定⇒投稿設定⇒Atom 投稿プロトコル&XML-RPCにチェック
キャッシュが効いていて問題ないことを確認。
○wikipediaから取ってきた女優名をカテゴリテーブル(wp_terms)に突っ込む。(5,260人でした。)
↑これは月に2回更新。cronで動かすことにした。
○googleブログ検索(24時間以内のもの)に女優名をつっこんで、
(とりあえず、引退した人の動画は少ないだろうと考え、現役2,762人分のxvideosを取得してみた。処理時間8時間、192件取得できた。)
http://www.kaasan.info/archives/1457
動画のURLを取得したら、削除されていないか調べて、OKだったら投稿。
http://www.multiburst.net/sometime-php/2009/04/newpost-with-wordpress-xmlrpc-api/
↑ここらへんを参考に
http://pear.php.net/package/PEAR/download
↑pear自体はここにあるので、「XML」フォルダのみをUP。
だいたい、30分で10記事取得できることがわかったので、
【cron設定】
$ crontab -e
00 04 * * * /bin/sh /home/ユーザーID/iphone-xvideos.info/insert_X.sh >/dev/null 2>&1
00 03 1,15 * * /bin/sh /home/ユーザーID/iphone-xvideos.info/insert_XXX.sh >/dev/null 2>&1
http://miya0.dyndns.org/pc/settei/crontab.html
----------------------------------------------------
↑旬な情報が取れないが、とりあえず。。
前日のterm_idを記録して、
次の日はそれ以降のデータを取得する。
----------------------------------------------------
☆jqueryでお気に入り作成。cookieを使う。(PCのみ?)
☆好きな女優を登録しておけば、記事の更新情報をメールで通知。
☆デザイン修正。。
実際、なんとなく勉強になった気もするし、楽しく作業できました。
まったくアクセス無くても、自分用にとても良いものができたと思っているので満足です。
もし繋がりにくくなったりしたら、
別のレンサバに変更しますー。
随時こちらに追記していきますね。
最後まで読んで頂いてありがとうございます。
サイトオープンから10日ほど過ぎたので状況をお知らせします。
はてぶは全くだめだった。。
(日々増加しているが、検索エンジンからくるようになってもまだこんだけ。。)
メモリは問題なし。512MB中ピークでも300MBぐらいしか使ってない。
# chmod 744 /usr/local/bin/memrep.sh
※本日、テスト的にDMMの広告を張ってみました。。←すぐ消した。。
また、後日お知らせしますね。
1か月経ったので。。
ページビュー2500/日
自動更新なのに、きっちりアクセスは日々増えて続けています。エロは強い。
アクセス少ないので、負荷は全く問題なし。
Swapも全く使ってない。
Rails3 と jQuery で、真面目にオシャレなエロサイトをつくってみました。 - h300
http://d.hatena.ne.jp/inouetakuya/20120331/1333192327
に触発されて、オシャレエロサイトを作ってみました。
オシャレエロサイトを作ろうと思ったのはいいのですが、デザインは苦手なので途方に暮れていました。
h300の方はペパボのソフトウェアエンジニアらしいのですが、こっちはただの素人プログラマー。
そこで何か裏ワザみたいなものはないかとググっていると、Twitter Bootstrapという文字が目にとまりました。
Bootstrapの名前は知っていましたが、深い内容までは知りませんでした。
ですが、紹介記事を読んでみると自分の理想に近かったので早速使ってみることにしました。
Twitter Bootstrapはある程度有名だと思うんですが知らない方のために説明すると、
CSSフレームワークの一つで、ウェブデザインの作成を手助けしてくれるものです。
色々なCSSフレームワークを見ましたがTwitter Bootstrapが一番完成度が高いと感じました。
ウィキを見ると最初のリリースが2011年8月なので比較的最近のものですね。
普段、みなさんがウェブサイトを作る時、HTML + CSSで作られるかなと思うんですよね。
この時、CSSが事前に用意されているとすごく楽じゃないですか?
CSSフレームワークはCSSの大部分を前もって用意してくれているんですよ。(フレームワークによりますが)
ですので基本的にCSSに合わせてHTMLを記述するだけでウェブサイトが出来てしまいます。
CSSに合わせてHTMLを記述するとはどういうことでしょうか?
この文章は薄い青色でハイライトされていますよね? Bootstrapで似たようなことをする場合 <div class="well"> ハイライトしたい文章 </div> という感じになります。
classにwellと指定しているだけですね。
なぜそうするだけで文章がハイライトされるかというと、
divのclassにwellが付いていたら、いい感じでハイライトしてねっていう指示が
Twitter BootstrapのCSSに書いてあるからです。
BootstrapのCSSには、divのclassにalert alert-errorっていうのがあったら警告文だしてねとか、
button class="btn"ってあったらボタン表示させてねとか色んなことが最初から書いてくれています。
もちろん見栄えがよくなるように記述されていますので、classを指定するだけでモダンなデザインになるわけですよ。
CSSに合わせてHTMLを記述するだけでウェブサイトが出来るというのはこういうことです。
でも、最近のウェブサイトは HTML + CSS + JQueryという場合も多いですよね。
安心してください。Twitter Bootstrapの場合はJQueryの基本的な部分も用意してくれています。
ですのでドロップダウンメニューやタブ、スライドショーなどの実装も簡単にできます。
それに加えてBootstrapはよく使うアイコン数百種類まで用意してくれています。
至れり尽くせりですよ。
神様ですね。
CSSが固定化されていると、HTMLも自動的に固定化されます。
CSSに合わせて記述するので当たり前といえば当たり前ですね。
CSSの記述は一定、HTMLもある程度一定なので、メンテナンスが格段にやりやすくなります。
個人プログラマーの方だと、サイトごとにHTMLもCSSもグチャグチャという方も多いのではないでしょうか?
フレームワークを使えばそういうこともなくなるということです。
Twitter Bootstrapの凄さはそれだけではありません。
現在、ユーザーがどんなデバイスでウェブサイトにアクセスしてくるか分かりません。
PC、スマートフォン、iPad、TV、3dsなど全てのデバイスに合わせてデザインを作るのは時間がかかりすぎます。
でもTwitter Bootstrapならbootstrap-responsive.cssというCSSを選ぶだけで、
デバイスの横幅に合わせてデザインが変わるレスポンシブなウェブサイトができます。
もちろんデメリットもありまして、サイトのデザインが似てしまうというのが難点です。
ですが基本はBootstrapを使って、ちょっと自分でカスタマイズしてオリジナルっぽくすることもできますので、
一度Twitter Bootstrapを使ってみる価値はあると思います。
http://twitter.github.com/bootstrap/
Bootstrapの説明が長くなってしまいましたね…。
1.エロいサイトを巡って、XVIDEOSやFC2動画などのリンク、embedされたものがあれば取得。
3.データベースに登録。
一連の作業をクローラーにやらせるプログラムをRubyで書く。
RailsでBootstrapを使うにはtwitter bootstrap railsというgemを使うらしいです。
しかし、使おうと思ったのですが、windowsでは上手くインストールできませんでした。
仕方なく、代わりにsass-rails-bootstrapというものを使いました。
違いはcssにLESSをつかっているかsass(scss)を使用しているかだと思います。
http://d.hatena.ne.jp/tkawa/20120219/p1
の記事が参考になりました。
ちなみにLESSとかSassってのはcssを効率的に書けるすぐれたものです。
最近、webクリエイターボックスさんでも紹介されていました。
http://www.webcreatorbox.com/tech/css-sass/
railsでは3.1からcoffee scriptと共にsassがデフォルトで使えます。
このあたりがRailsの素晴らしさですね。
Bootstrapは画像を綺麗に並べて表示することにも向いているので、
アダルトサイトと相性がいいなと感じました。
AV女優名とか女子校生、人妻などのジャンルのタグがあれば便利ですよね。
Railsではacts-as-taggable-onというgemを使い実装しました。
動画のタイトルが事前に用意したAV女優名リスト、ジャンルリストと合致すればタグ付けするという感じです。
AV女優リストはDMMから、ジャンルリストは大手アダルトサイトから作成しました。
タグ付けするときに あおいそら-蒼井そら みたいな感じでタグ付けするようにしました。
もっとスマートな方法があるはずですが思いつかなかったので仕方ないです。
ア行、カ行…のように行別にわけて、なおかつアイウエオ順で表記してますので
クッキーを使ってログイン不要のブックマーク機能を作りました。
jquery.cookie.jsを使って、cookieを配列に直してごにょごにょしてという感じで実装しました。
削除ボタンを押すと非同期で通信して…などいろいろ面倒でした。
でも、動画の数はかなり増やしていこうと思っていましたので頑張って実装しました。
動画の下のブックマークするボタンを押していただければブックマークできます。
ブックマークするボタンの表示などにBootstrapの便利さを感じました。
実はこれが一番やりたいことでした。
多くのアダルトサイトは広告だらけで、肝心の動画がポツンと小さくあるだけというのが多いです。
戦場で疲れた兵士たちに、そんなせせこましい画面でアダルト動画見ろって?
そんな野暮なこと言いませんよ。
PCスクリーンの画面いっぱいに、大画面で、ドカーンとエロ動画を楽しんで下さいよ。
動画はできるだけ大きく表示しています。もちろんレスポンシブです。
全画面表示にすりゃいいじゃん…っていうのは違うんですよ。
全画面表示だと逃げれないじゃないですか!
不意に誰かが部屋に入ってきたらどうするんですか?
そう考えております。
Bootstrapでデザイン面はスマホ対応にはなっているのですが、
加えてjpmobileというh300で紹介されていたgemを使って、
CPU 2.66GHz、メモリ 2.2GB HDD200GBです。
Railsは遅いので少しでも速くするためにApacheの代わりにNginx使おうと思ったのですが、
PC用のキャッシュとスマホ用のキャッシュを別々に保存して使う
ということがどうしてもできませんでした。
PC用のキャッシュがある場合、スマホ用のキャッシュがなくてもキャッシュがあると認識されるなど、
もともとNginxとrailsのページキャッシュは相性が悪いようです。
Nginx側でキャッシュする、もしくはスマホ用のアドレスを別にすればできるかもしれないですが、
http://m.サイト名 みたいにするのが嫌だったので最終的にNginxを使うことをやめました。
Nginxに関するネット上の記述も少ないので運用するのは危険かな、ということもあります。
Nginxを少しだけ使ってみた感触はかなり速いというものだったので残念でした。
バージョンが変われば、また挑戦したいですね。
【追記】
やっぱNginxでもいけるかもしれないですね。
紹介しないと終わらないということで紹介します。
http://nukisen.com (エロ注意)
サイト名はオシャレに横文字でNukisenにしました。読み方はヌキセンです。
http://bootswatch.com でダウンロードできるBootstrapのテーマそのままですが、
Bootstrapを使うと自動的に細部まで凝ったデザインになるので最高ですね。
下にスクロールしていくと背景のグラデーションが変化したりとか、とても一人ではできないですよね。
長々と説明してきましたが、
ぜひNukisenで大画面のアダルト動画を体感してほしいです。
しばらくは一日30本ぐらいの更新でいく予定です。
アダルトサイト同士の相互リンクでアクセス増やしてなどはしない方向です。
新しいことに挑戦すると得られるものが多いなと感じました。
ウェブサイトを作る際、無意識のうちに自分のできる範囲の技術で構築しがちだと思うんですが、
そうすると成長はないですね。
長文失礼しました。
http://www.kanzen21.com/という有名なサイトと似たサイトを作ってみました。
このサイトはプログラミング初心者のおっさんが四ヶ月で作ったWebサイトとして有名です。
http://anond.hatelabo.jp/20101203150748
なぜ似たサイトををわざわざ作ったのかなんですが、完全に一致は便利なんですが色々不満がありまして
・芸能人リストがしょぼすぎる。 - いちいち、芸能人のスリーサイズ調べてスライダー動かすのが面倒。
・年齢スライダーがない。- 若い子が好きな人もいれば熟女好きもいるはず。
・ベスト作品を除いてほしい。 - AV女優の単体作品だけが見たい。
・横三列じゃなく八列ぐらいにしてほしい。- もっと一瞬で好みのAV女優を見つけたい。
・年齢順とか作品順とかにソートしたい。ア行カ行とか指定できるとなおいい。
というわけで、プログラミングの勉強を兼ねて作ってみることにしました。
作成期間は2週間ぐらいです。
1、DMMからAV女優情報、作品情報などをmechanize(Rubyのクローラー)を使って取得。
2、Wikiからアイドル・モデルのスリーサイズなどをmechanizeで取得。
3、chickipediaから海外のセレブのスリーサイズなどをmechanizeで取得。
6、デザインを整える。
1、http://actress.dmm.co.jp/-/top/ DMMのAV女優情報から情報取得する。
完全に一致さんみたいにFace.comのAPIを使うのは面倒だったので、
作品のタイトルにAV女優の名前がある作品だけをピックアップすることにした。
そうすることで自動的にAV女優100名出演みたいなベスト作品とかは取り除かれる。
グラビアアイドル一覧から個別ページに行き、必要な情報を取得。
3、英語版のwikiにスリーサイズが載っていなかったのでhttp://www.mademan.com/chickipediaから必要な情報を取得。
バストサイズがブラのサイズしかのってなかったが大体合ってればいいかということで、そのままcmに変える。
身長がフィート表示なのでこれもcmに変えてデータベースに突っ込む。
外人のカップ数がバストに比べて小さいなと思っていたら、外国のAカップは日本のCカップぐらいあるというトリビアを知る。
5、JQueryを使ったことがなかったので、一番苦労した。
JQueryというよりも非同期通信をするためのAJaxという仕組みをRailsでどう実装するのかが分からなかった。
具体的にはスライダーの値をRailsのコントローラーに渡すにはどうすればいいのかが分からなかった。
色々検索しているとhttp://eddorre.com/posts/tutorial-filtering-results-with-jquery-ui-slider-and-rails-3-beta-3
というRails3でUI Sliderを使用するためのチュートリアルというドンピシャのサイトが見つかる。
英語で読み解くのに苦労したが、合わせてhttp://jqueryui.com/demos/slider/でスライダーの使い方を見ながら何とか実装していった。
非同期通信はかっこいいけど実装するのに手間がかかるなと思いました。
あとPHPにすら挫折した人間なのでjavascript書くのがきつかったです。
Rubyみたいに書けるらしいCoffeescriptを勉強したい。
6,デザインはBootstrap
7,サーバーは、とりあえず人が来るかわからないので、一番安いオスキニサーバーVPS月450円のプランにした。
アダルトOKなのは確認ずみ。http://support.saases.jp/index.php?action=artikel&cat=85&id=409&artlang=ja
何度かやったことがあるのでいつも通りセッティングする。かなり面倒な作業。
一応、アダルトということで,mod_evasive,KeepAliveなどの設定をする。
スリーサイズをスライダーで検索するので3SizeSearchです。
完全に一致さんとの一番の違いは有名人リストが充実していることです。
好きな芸能人と似たスタイルのAV女優さんがすぐにわかります。
例えば、西田麻衣に似たスタイルのAV女優は範田紗々だとすぐにわかります。
検索の幅を緩くすることもできます。+-1から+-2へボタンを押して切り替えると、さらに22名のAV女優名がでてきます。
http://3sizesearch.com/people/%E8%A5%BF%E7%94%B0%E9%BA%BB%E8%A1%A3
例えばアヴリル・ラヴィーンに似たスタイルのAV女優は、藤咲りさ、本田成美、優木ルナになります。
似たスタイルの芸能人も分かります。アヴリルの場合、浅香友紀 菅野美穂 木内美穂 黒坂真美 小橋めぐみ 佐藤ありさ さとう里香 西原亜希 平田薫 松永京子 蓮舫という感じです。
ですのでAV女優さんの個別ページに行けば似たスタイルの芸能人も分かります。
例えばRioに似たスタイルの芸能人は浅倉結希 立花麗美 吉井怜となります。
http://3sizesearch.com/people/rio
楽しみながら作れ、JQueryの勉強にもなったので良かったです。
アイドルよりAV女優の方が人数も多いし可愛くてスタイルのいい子が多いですね…。
小飼弾さんの「作品から商品へ - 書評 - 職業としてのAV女優」というエントリーが頭に浮かびました。
http://blog.livedoor.jp/dankogai/archives/51804435.html
よろしければ3SizeSearchを使ってみてください。http://3sizesearch.com
http://d.hatena.ne.jp/nishiohirokazu/20120323/1332504404
最近、Webクローラクライアントを作るお仕事が増えた。WebクローラクライアントというのはHTTP(S)を介して様々なファイルをダウンロードして解析し、結果を溜め込むだけのプログラムである。ボットともいう。
クローリングの規模が大きくなると、クロール処理部と結果貯蓄部を分離する必要がある。クローラには様々なものがあるが、ものによっては特定のサーバに集中的にクローリングを行うこともある。このとき、1つのIPを使って集中的にクローリングを行うと、攻撃とみなされ一瞬でbanされてしまう。そこで、一見するとまったく関係なさそうなIPを複数確保し、それぞれにクローラーを仕掛けて走らせるのである。
結果貯蓄部は、要するにデータベースサーバであり、何を使用しても良い。クロール処理部とのやりとりに使用するプロトコルはRDB依存プロトコル(MySQL Socketとか)でもHTTPでもなんでもいいが、とにかくクロール処理部が解析した結果を随時溜め込めるようにしなければいけない。逆に言うと、まぁ、口さえできるのであれば何を使用しても良い。
問題は、クロール処理部に何を使用するかである。おおまかな要件は次の通りである。
これらの要件を満たそうとすると、ぶっちゃけJavaかPythonくらいしか選択肢が無い。
Java | Python | |
---|---|---|
HTTP(S) | HttpURLConnectionかApache HTTP Client | urllibかurllib2 |
環境依存性 | Write once, run anywhere (VMが最初からインストールされてるのはSolarisくらいのものだが、どんなOSでも大体はすぐインストールできる) | UNIXであればほぼ標準で入ってる、Windows用インストーラも用意されている |
キャッシュ機能 | JDK6にDerby標準搭載 | Python 2.5からsqlite3標準搭載 |
JavaとPythonの違いは山ほどあるが、簡単なことをやらせるだけならPythonはJavaよりも使用メモリが少なくなりがちなので、そういう場面であればPythonは(現時点においては)最強の座に君臨すると考えられる。
facebookが全地球上の利用者の行動データを黙々と集め続けているというブログ記事が多くの注目を集めて、ガクブルする人のうめき声や罵詈雑言が飛び交ったことは、これを見ている人はまだ記憶に新しいと思う。
さて、日本語圏の、だいたい日本国と重なるネット社会はどうだと思う?
2ちゃんねるで有名人の殺害予告を書き込んだ奴の家に警察がやってくるというニュースはそんなに珍しくなくなっている。ヤバげな書き込みがあれば、奴らはあっというまにきみの発信者情報を特定してドアをノックするというわけだ。
そういう意味で、すでにぼくたちは「公権力に」よってネット上での行動を監視されているわけだ。
これもよくいわれるんだけど、こういう状況は、ミシェル・フーコーというフランス人が「パノプティコン」と呼んだ状況に似ているかもしれない。
パノプティコンというのは、ベンサムというイギリス人が考えだした刑務所のモデルのこと。監獄がドーナッツ型になっていて、中央の穴の部分に看守の建物がある。囚人たちは、四六時中看守に見られているような気がする。たとえ看守の建物にだれもいなくてもそうなんだ。いつのまにか、囚人は看守の視線を自分の中に取り込んでしまうから、下手なことをしようという気を起こさなくなるというわけ。ようするに、その監獄にいる囚人はどんどん自主規制するような、監視者に都合のいいシステムがパノプティコンだ。
2ちゃんとか自分のブログに何か書こうとしているとき、自分の心の動きを思い出してみて、どうだい?
アイドルを殺すとか、新宿駅を爆破するとか、そういうことを書き込んだら、たとえ冗談でも警官が家に来るらしいってことは漠然と「知って」いるだろ? だからめったなことではやらないだろ? そもそもやろうと思わないだろ?
なぜなら、きみは自分が監視されていることを「知って」いるから。
でもさ、きみはほんとに、どっかの地下司令室みたいな所で、日本中の掲示板やブログの内容を膨大な数の監視員がチェックしているところを見たのかい? SF漫画の中で見ただけじゃないのかい?
たとえそんなところが本当にあったとしても、そこで働いている奴はいま夜食のビッグマックを頬張るのに夢中になっていて、きみの書き込みなんか見ちゃいないかもしれないんだよ?
でもきみは心のどこかで自主規制するよな。だって、ヤバいことを書き込んだら、奴らが来るって「知って」いるから。
ところで、そういうネット上のパノプティコンみたいなものは、べつに「公権力」じゃなくてもこの国では勝手にどんどん作れることは知ってたかな。
ほかでもない、ネット上の風評被害対策とか、「ソーシャルメディアマーケティング」をやっている民間企業だ。こいつらはネット上の自警団というよりは、傭兵だ。金で雇われれば誰でも手にかけるから。
たとえば、きみが2ちゃんか自分のブログである企業の批判をしたとする。傭兵たちは独自のクローラーを毎日ネット上に走らせているので、君の言葉はすぐに見つける。そしたらすぐに2ちゃんの運営ボランティアかブログのプロバイダに削除依頼をかけるか、訴訟をちらつかせながら発信者情報の開示を始める。
誰だって、どこの馬の骨とも知らないやつに自分の居場所を突き止められたくない。弁護士の対応なんてしたくない。
まあ、きみがただ単に相手を傷つけようとして、根拠のない誹謗中傷を垂れ流そうとしてそういう目に合うのなら、自業自得というものだろうね。
でもさ、他人のでたらめを見かけてそれを指摘しようとしたときに、ナイフをちらつかせられたらどう思う?
とくに、企業に雇われた傭兵たちが嘘八百をいい散らしているのを指摘しようとしたときに、訴訟を恐れて自主規制しようとしたら?
そもそも、指摘する声を出せないように傭兵たちが街中の広場をすでに封鎖してしまっていたとしたら?
なんのことはない。きみは気がついたら彼らが勝手に作った「民間刑務所」のなかで監視を恐れながら粛々と労役に励んで、傭兵たちが大声でおすすめする臭い飯を、きみ自身の苦役で稼いだ労賃で買いつづけるわけだ。日本語圏のネット社会は、気がついたらそういうプライベートな監獄で何重にも囲まれていたという話。
たまたまそういった「民間刑務所」の看守見習いがヘマをしでかして、刑務所のオペレーションに関する書類を落としてしまったとする。それを拾った奴が広場で騒ぎ出し、市場のゴミ拾いが日課で壁新聞の好きな奴がその書類を市場の外に、街のいたるところに見えるようにして貼り出してしまった。でもそのゴミ拾い人は傭兵たちの訴訟攻撃にぶるってしまって早速自主規制したまま黙っている。その間に市場での騒ぎは手際よく鎮圧されてしまった。傭兵たちは普段からそれで飯を食っているので、自分たちのこととなると作業は早い。
市場の住人たちも、その外で壁新聞を読んでいた人たちも、なにかおかしなことが起こっていることをばくぜんと感じ取っている。たとえ騒ぎが収まった後でも、そのおかしな感じは消えるだろうか。自分たちが「民間刑務所」の中で暮らしていたことに気づいた後で。
http://anond.hatelabo.jp/20110310015855
(cache) どうしても延焼したいらしいnanapiのスパム戦略について。。
http://megalodon.jp/2011-0310-0542-29/anond.hatelabo.jp/20110310015855
こんにちは!nanapiというサイトをやっている、ロケットスタートの古川健介といいます。ちまたではけんすうと名乗っていたりします。
トピックスとしては
です。
これはやっていないんですよねえ。
ここにいろいろ★がついてるIDがあるんだけど、ここについてるのは
まあ非モテタイムズですら5個くらいしかつかってないような捨て垢、サブ垢で、
ざっと数えた限りでも20個くらい稼働してるのね。
kensuuやasami81あたりに関してはメンバーですね。捨て垢とかサブ垢は僕の知る限り、使っていないのです。あと一応スタッフのidは把握しているのですが、心当たりあるとしたらそのくらいかなあ、と。
誰がつくったのかしらないけど見て取れる限りだいたい7~8ヶ月くらい前から
この機構は動いてるのね。まあいわゆる「ボットサクラ」で、nanapiがブクマされているように
そうなんですか?広告仲間が誰かわからないんですが、僕が友達のブログとかをはてブしているくらいしか覚えがないのです。7〜8ヶ月前というのも何があった時期かちょっとわからないのです。
巡回先にいれてもらうとかをしていないんでわからないんですが(勝手に入れられているならともかく)、はてなブックマークで上位をとったところで、トラフィックにたいして変化はないわけです。あと、5userついたらホットエントリに入るほど、はてなユーザーさんはバカじゃないので、たいした効果はないかと。
ここんところの会社はベンチャーキャピタルから3.3億もの出資を受けるための事業計画として
昨年末はギリギリ未達だった「1000万PV」をこの1年で10倍の1億、記事数は15倍の
15万本に増やすと宣言してるんだよね。
こですが、投資先にたいしていっている目標ではないです。事業計画が全然別にあるのすよ。
PVでの事業計画は一切だしていませんでしたし(記事数はだしていました)。スパムをやって達成できたとしても、そんなの見抜かれるでしょうし、ベンチャーキャピタルさんは僕なんかよりすごく賢い人が多いので、意味ないかなあ、と。
プレスリリース出すときのテンションあげるためとして記載していたくらいのPVですね。
『ああ、きっとどんな手段をつかってでもやるんだな。はてブを使うだけじゃなく・・・』
使える手段であればするんでしょうけど、実際に一番合理的なPVの上げ方って「支持されるコンテンツを作る」だと思うのですよね。
いまもう3月でしょ?一年の四分の一消化しちゃってるわけよなの。でも、PVはまだ1.5倍の
1500万PV、(瞬間風速では2200万くらいだっけ?)まとめ数については2.3倍の2万3千本しか増えて
いやあ、がんばります。月次目標がいつもぎりぎりなので、ドキドキしています。記事数は質が下がったという認識があるので、今はかなり抑えてじっくりとコンテンツを作るほうに集中していますね。
ちなみに次の増資は計画していないです。また、アーリーに資本入れるベンチャーキャピタルさんが、こんな短期の数字だけを見て判断するってことはあんまりしないです。
いやあ、知らないんですよねえ。実際、、というか周りでも聞いたことないのですが、実際、はてなブックマークをお互いbotでやりまくるみたいなことやっている人、今いるんですかねえ。大手サイト同士でリンク張り合うとかはよく聞くんですが。
私は、いつも中身で勝負すればいいと思っている。
同意です!
で、これってnanapiにも全く同じ見かたができて、nanapiについたブックマークを
見ると炎上期間中の3/4~3/8の間、nanapiで3usersを獲得したレシピは
一件もないの。一件もよw
いままでのブックマーク数を見ていただくとわかるとおもうんですが、3userがない日が3日続くとかはそんなに珍しくないサイトです。スタッフが気合いれてかけばホットエントリ入りしやすいので、それを書いたら比較的乗るんですが、上記はそんなに珍しくない現象かなあ、と。
ブックマークがつくのは一日も止めようがないと思うのよね。なのに
nanapiを毎日見に来ている人ってあんまりいないんですよね。で、ブックマークをする人っていうのの多くは、おそらく僕がブックマークする or Tweetする or facebookページに流す、くらいだと思うのです。どこかのサイトのリンクを見る、他の人から紹介される、などだと思うのです。特にその中で、僕はnanapiに関して投稿しまくってるので、僕のTweetやブクマなどを見てする人というのが結構な割合を占めている気がするのですね。
で、たしかにこの時期ってあんまりTweetしていないのですよ。
かわいいなあ! デコおにぎり!トトロの作り方 | nanapi[ナナピ] r.nanapi.jp/24521/ via @nanapi
友人の行動が広告に反映される!Facebook「スポンサー記事」広告の概要 | nanapi[ナナピ] r.nanapi.jp/24515/ via @nanapi
友人にめっちゃ勧められたから使ってみる - 旅行好き必見!Facebookアプリ「trip advisor」で旅を楽しむ方法 | nanapi[ナナピ] r.nanapi.jp/23919/ via @nanapi
Facebookとmixiやブログを連携させる方法 | nanapi[ナナピ] r.nanapi.jp/24360/ via @nanapi
これをしよう - Twitterのつぶやきを、Evernoteに自動で取り込み、日記にしてしまおう | nanapi[ナナピ] r.nanapi.jp/1720/ via @nanapi
今、Evernoteを再整理しているけど手前味噌ながら役に立つ - Evernote上級者のためのレシピ集 nanapi.jp/site/Evernote via @nanapi
かわいい - デコおにぎり!みんな大好きアンパンマンの作り方 | nanapi[ナナピ] r.nanapi.jp/24172/ via @nanapi
というのも土日にあまり仕事していなかったのでパソコンの前にいなかったので、数少ないんでしょうね。
なのに、francesco3が収束宣言をした3/9かから、いきなり100ブクマ超。
中身はタオルのたたみ方で、どこの伊藤家の食卓かしら、という感じ。
いや、私はすきだけどね・・・ならスパムクローラー稼働させなくても
20~30usersで我慢しておけばいいじゃない。それくらいの内容よ。
それ以上を求めようってのは酷なものよ。
いや、タオルネタは素敵!と思ったから僕はブックマークしましたが、それくらいかなあ、と。スパムクローラーやるとトラフィックあがるんですかねえ、、
なんとなーく、ほら、次はどのへんに飛び火しそうか、ちらほら雰囲気出てたじゃない。
2ちゃんねるではそのものズバリ名指しされてたし、今動くのは大人としてキケン、
もちろんそこばっかり頭働かせていますよ!
だからこそ、最後まで「必要悪」なんてものを自分のなかに抱え込まずに、
中身一本で勝負してほしいと思ってる。
必要悪っていうのがあるのかもしれないですが、ブックマーク数を機械で増やすのって必要なんですかねえ、、
というのも、ここ1ヶ月で見たときに、はてなブックマーク経由のトラフィックって
44,627
くらいなんですよ。(内部データだから検証しようもないけれど、内部データをあげると)1セッションあたりの平均PVが、はてな経由だと1.7くらいなので、PVでいうと75000くらいですね。
1500万pvあって、ロボットにブックマークしてもらって75000しかあがらないところに工数さくのって、あんまり意味ない思うんですよね。それよりかは伸びているFacebookをうまく活用して、ファンを増やしていくことに注力したほうがよほど合理的なのです。波及効果があるかもしれないじゃないか!と言われるかもしれないですが、それこそいいコンテンツじゃないと波及しないのです。
SEO効果あるじゃないか!という人もいましたが、たぶんさほど効果ないんじゃないかと思っています。0ではないんでしょうけど、そこに力を入れるくらいだったら、検索されやすいコンテンツを増やしたりするほうが効果高いですし、それこそサテライトサイトつくったりリンク買ったほうが効果あるんじゃないですかねえ。どちらもGoogleさんに規制されそうな気がするので僕たちはやっていないですが。
もちろんPVはあげたいなあ、と思うので、nanapiについて言及しているTweetをRTしたり、いいなと思ったコンテンツはブックマークしたりしますが、不当な手段を使ってやったところで効果ないと思うのです。
僕も純粋な善人でもないので、想いとして
と思う一方で
というのもあるわけです。
ただ、それをする一番合理的な方法って、「いいコンテンツやサービスをつくって、ユーザーに支持される」ということしかないんですよね。これは綺麗ごとを言っているわけではなくて、単なる王道です。で、コンテンツやサービスに近道はないと思っているので、ひたすらそれをやるしかないのです。スパムやって数万PVあげたところで、何の意味もない。
というわけで、そこばっかりやっているので、無駄なことをしないで、中身ばっかりみているこの頃なのわけです。
人に書かせる以上、クオリティコントロールが一番難しくて、いい記事を大量に効率よく生み出す仕組みを作りたいんですが、ここが難しく、まだまだ「nanapiの記事って素晴らしい」となるレベルではありません。ここは認識していて、一番の課題としておいています。一方で、量がないと役に立たないので、これを両立させるにはどうしたらいいのかなあ、と悩んでいるところです。
といいつつ、誤解をさせてしまったのは説明不足かなあ、という気もするので、ご不明な点があったらもっと説明します!よろしくお願いいたします。
完全に一致を作るための勉強法
コメントもたくさん頂いてまして、それにお答えするのに「ブログでもつくろうかいな」とのぼせましたが、そんなテーマで続くわけもないので、やはりアノニマスダイアリーにしました。
【製作期間について】
まず、皆さん仕事しながらたった4ヶ月で!と褒めて頂いてますが、たったじゃないですよ。4ヶ月って。
仕事が終わって、毎日2~3時間。土日関係無くやると、多分300時間くらいになります。
専門学校の2年間の授業時間がこのくらいだったりするんじゃないですかね。結構長いです。
【モチベーションの維持について】
モチベーションを保つのがすごいというのも褒めてもらいましたが、私は一回やり始めると、意外に長く続きます。
コツがあるんです。
毎年、日々の単純作業が続かない新入社員が入ってきますが、そんな新人に言います。
「息をするように続けるんだよ。」
毎日やるんです。土日関係無く。毎日。
前回の日記で「勉強した」と何度も使ってしまった為、誤解をされている方が多くいらっしゃいます。
正確には、「調べ」ました。
職業柄「調べる」という事が多い為、WEBサービスを作るという事に関してはそれが訳に立ちました。
追記でも書いているのですが今回のシステムはほとんどが、先人達が作った既存のシステムがベースになっています。
ぱくりと言われてしまえばそれまでなんですけど、丸ごとはやってないですよ。というか、丸ごと合うモノがなくて、いろんな所からソースコードを拝借させてもらいました。
なので、中身はぐちゃぐちゃです。けど、検索システムはそれでも200行くらいしかありません。クローラーは80行くらいでしょうか。
【HTMLについて】
というか、それすら途中で挫折してAdobe社のDreamWeaverというソフトを使いました。
適当に書けばソースは綺麗にしてくれるし、CSSの体裁はプロパティを設定しながら見た目のまま調整すれば良いし、一番助かったのはテンプレート機能でした。
最初は全部のHTMLファイルをコピーしながら作っていたのですが、ヘルプを見るとテンプレートとライブラリという機能があるのをしってライブラリがいまいち分らなかったのでテンプレートを使いました。
■Dreamweaver便利
■テンプレート便利
【Javascriptとの出会い】
最初に本やで立ち読みした本に、「プログラムをやってみよう」ということでJavascriptの事が書いてありました。
なので、自然とプログラムの最初のさわりがコレになっただけなんですね。
でも、アラートを出したりとかばっかりで、面白くありませんでした。
インターネット黎明期からのネットユーザーなのですが、「最近よく見るページが移動しないのにページの中身が切り替わるやつかっこいいよな」と思って「ページ遷移しない 読み込み」で検索をすると、Ajaxという文字を見つけ、「ajax 入門」で検索してトップに出たサイトでAjaxの概要だけ調べて、「ajax 簡単」でprototype.jsとjQueryの文字を見つけて「ああ、jQueryってよく見るな」というのがjQueryとの出会いでした。
「最近よく見るページが移動しないのにページの中身が切り替わるやつ」は、非同期通信という名前でした。
jQueryを使うと、下記のように1行コピペするだけで外部のHTMLを読み込む事ができました。
--------------------------------------------------------------------------
var http = $.get("abc.html",null, function(data) {$("#main").html(data);});
--------------------------------------------------------------------------
すごい簡単。最初は意味は分りませんでしたが、目的の事ができればそれで良いので次に進みました。
■jQueryすごい
■非同期通信かっこいい
【Perlとの出会い】
jQueryがちょこっと書くとダイナミックに色々変わってくれるので、日々いろんなプラグインを探して遊んでいました。
でも、作りたかったのは検索システムだったのを思い出し、また近くの大きな本屋に。
検索するパソコンで”プログラム 検索”で探しだした棚に行くと、「CGI/Perl」の本棚でした。
大量にありすぎてどれをかって良いか分らなかったので、いくつか立ち読みして家に帰り、「CGI/Perl 入門」で検索すると
このページにたどり着きました。
Windowsだった為、ActivePerlを入れていくつかプログラムをやりましたが、これがまた面白くないんですね。
すごい地味で。このPerlをさわった最初の1日は正直かなり苦痛でした。
その後、”AV女優の検索システムって不動産の検索システムに似てるな”って思って「CGI/Perl 不動産検索 無料」で検索したら、http://www.yumemaboroshi.net/ってサイトが引っかかって、ここのおかげでかなり進みました。
先人が作った大量のプログラムがダウンロード出来るサイトなんですね。
【PHPとの出会い】
いくつもダウンロードしては、サンプルと中身を見てを繰り返してたら、Perl/CGI以外にPHPがたくさんありました。
どう違うのかと思い検索したら、PHPはすごい叩かれてて、Perlがえらいみたいに書いてあったのですが、叩かれてる理由がいまいち理解できませんでした。
結果PHPを使う事になったのですが、その大きな理由は、DreamweaverでPHPが開ける。なおかつHTMLファイルをそのまま使うテンプレート機能のプラグインがあったという事でした。
PHPでテンプレートを使うには、Smartyというプラグインを使えば良いということが分って、「Smarty 入門」で調べて、いくつかのタグを覚えました。
実際にSmartyで使ったタグは、{$変数}と{if}{/if}と{foreach}{/foreach}の3つだけだと思います。
色々高機能らしいのですが、まあ目的は達成できたのでいいか。と。
PHPの検索プログラムは、HTMLファイルでボタンを押すと、テキストファイルに書いてある内容を、表示してくれる簡単なものを作って、そこに肉付けしました。
(最終的にテキストファイルがSQLサーバーになりましたが。)
■PHPはDreamweaverと相性がいい
■Smartyでやると見た目が壊れない
【Rubyとの出会い】
簡単にPHPで動くプログラムが出来たので、実際に女優のデータを登録しようと思い、DMMに行きました。
DMMのサイトを見ていると、いったい何人いるんだってくらいAV女優が登録されています。
数人集めてみて「こりゃぁ。無理だな。」と途方にくれて1日を過ごしました(笑)
次の日、「ホームページ 自動 巡回 プログラム」とかで検索して、ボットとクローラーという存在を知りました。
自動巡回で拾ってくるのは、どちらかというとクローラーと呼ばれるそうで、「クローラー 作り方」で調べたホームページに、Perl+LWPモジュールで似たことができるということで、とりあえずペタペタとソースを貼ってうごかしてみたら、まあなんと簡単に取れました。
しかし、取ってきた後に気がついたのが、HTMLファイルをそのまま取ってきても結局手動でコピペの必要があり、あんまり意味がない。と。
で、もう少し調べると、「WWW::Mechanize」を使うといいよって書いてあって、Mechanizeで調べたサイトをみるとrubyを使ったサイトが出てきました。
rubyのサンプルがすっごい短くてわかりやすかったので、Perlは苦痛だったのでRubyにしようと、このときRubyを始めました。
■Rubyきれい
■Mechanize簡単
【デザインは・・・】
はてなブックマークのコメントで、DoCoMoのサイトが元ネタと書いてありましたが、ハズレです。
デザイナーの友人が居て世間話でどうやって作るの?って聞いたら、「まあ、パk、じゃない。参考にするよ。他社のを。」っていうもんでどうやって見つけるか聞いたら、あるんですね、綺麗なデザイン集めたサイトが。http://www.ikesai.com/ここでたくさん見ました。
それから、スライダーのインターフェースは、「selectToUISlider」jQueryのプラグインそのまま使ってます。
■世の中のデザイン全てぱk(略
■selectToUISliderかっこいい
という感じで、ほんとにちょっとずつ進みました。
楽しかったですね。Perl以外は。なんであんなに読みづらいんでしょう。
と、またもや長くなりすぎたのでこの辺で。
DMMのクリックが10万クリックほどあり、その結果、購入された金額が、なんと!
報酬額が245円。
----------------------
今回のサーバーダウンは結構深刻でなかなか復旧が出来ていません。。。
申し訳ないです。
----------------------
http://twitter.com/#!/kanzen21_com
----------------------
ショックだね。超高速道路というか、そういう以前の問題だよこれは。
やろうとすることを普通の人が身につけるのに3年は掛かるだろうに、しかも、ここまでのクオリティはでない。
唸ってしまう。
回避できるのであれば使うHTMLやCSSは限られる。覚えるのは最小限。
Dreamweaverつこーてるのかな?
ツールが解決してくれるのならコードを書く必要すらない。
jQueryでやられていることを自前実装するには技術力が必要。
中で何をやっているかなんて詳しく知る必要などない。
世界中のもっと詳しい人がチェックをいれてくれている。jQueryを利用したライブラリやサンプルコードも転がっている。jQueryでできないことがでてきたらどうするか? prototype.jsでも使えばいいじゃない。
扱いがかわいそう。
自分に必要がないもの、目的に合致するのに遠回りなものを切り捨てる能力がないと何時まで経っても勉強だけして終わる。
PHPで何かしようとしたのではなく、単なるテンプレートエンジンとして割りきって利用したようだ。
表示したいところに表示させたいものを埋め込むだけなら、それはHTMLとほぼ同等の何かでしかなくなる。
どの言語でやっても一緒なら、できるだけ自分がつくる部分が少ないほうがよい。
phpではクローラーをつくるのにいいライブラリがあるというのを聞いたことがない。
RubyならPerlみたいな正規表現に悩まされることもない。なるほど。
素人がRuby環境を例えばLinux上に構築しようとしたらかなり躓くところがあると思う。Railsを使わずにRubyで済ませたというところか。ここらへんから何か恐ろしい。
逆算するとクローラーをつくるまで学習を初めてから2ヶ月も掛かっていないことになる。
クローラーをつくってからApacheを知ったというのがリアルで笑えるのだけど、恐ろしい。
Ruby環境とPHP環境をどうやって同居させたのかとかそういう苦労が見えない。ということ苦労しなかったのかもしれない。やはりRailsではなくてRubyなのか。
技術者を名乗る人でもRubyの環境構築ができない人も多いのにこの人は素直にすごい。
何もないところからLinux環境にPHPやらmySQLやらRubyやらの環境構築は熟練した人でも半日かかるめんどくさい作業なのでそれをやれてしまうというところで、3年生ぐらいのエンジニアスキルがあると俺は認める。
それは言い直すと普通に仕事として身につけたとしても一般的には3年はかかるということだ。
はてさて、SQLまでかけるようになったというのだろうか。
DB設計は? 確かにこの内容であれば設計を要するほどの複雑さはない。1テーブルで十分。
インデックスとか貼ってないだろうなとは思わせるが、5GBのデータでもこれだけのレスポンスが出てしまう時代だ。
チューニングするぐらならいいハードにのっけなよということか。
デザイナーとしても食っていけるだけのスキルがあるんじゃなかろうかとおもってしまう。
もう、なんていうか調査能力もすごい。
というか調査能力がすごいんだろうな。
もう、いいおっさんの年齢なんですが、先日、とあるWEBサービスを公開しました。
5年ほど前からぼーっと考えていたんですが、如何せん、事務職の自分には”創る技術”が無かった。
優れた若い技術者(id:amachangとかうらやましい)や、チャレンジ精神あふれる経営者(id:hiroyukiegamiとか)が出てくる中うつうつとしている自分に嫌気がさし、4か月前の7月頃からHTMLやプログラムの勉強を始めた。
本屋で立ち読みしたら、まずはHTMLを勉強する必要があると、書いてあった。同時にCSSを学んだ。
プログラムを作りたかったので、次にJavascriptをやった。
jQueryがすごい。「プログラムって誰でもできるんだ。」この時そう思った。
検索システムを作りたかったので、本屋に行ったらCGI/Perlの本がいっぱいあったので、Perlを勉強した。
しかし、HTMLテンプレートが使いたかったのでPHP+Smartyを勉強した。
作りたかったWEBサービスは大手サイトのデータの検索サイトだったので、自動でデータを集める必要があった。
PerlのLWPを勉強したが、データを集めた後に加工する必要があった。簡単そうだったRubyとMechanizeを勉強した。
Rubyはものすごくきれいにプログラムがかけることを知った。話し言葉に近い気がする。
プログラムを作っている時、最初は自分のパソコンの中でやっていて気付かなかったが、実際に公開するときはレンタルサーバーを使うというのを知って調べると、Linuxのサーバーが多いということを知った。
だから、今度は自宅のあいているパソコンにLinuxを入れた。
Linuxを入れたはいいものの、全く使い方が分からず四苦八苦してRubyのインストールをした。
世界中でメインで動いているWEBサーバーがApacheということも3か月前に知った。
Apacheの設定がテキストファイルなのも驚いた。cd,ls,vi,mv,cp,chmod等、基本的なUNIXコマンドを覚えた。
例の図書館の事件があったので、クローラーを動かすのをためらったが定期的にちょっとずつなら怒られないんじゃないかと、Crontabを勉強した。
自宅のサーバーが壊れてしまい、構築が大変だったので今度はVPSサーバーを借りた。
同じように構築はしたがかなり苦労した。このとき、始めてmakeというコマンドを使った。コンパイルというらしい。
クローラーが自動的にデータを集めていたが、動かし始めて2カ月目でデータファイルが1GBを超えていることに気がついた。
このとき、テキストファイルでデータを扱おうと思っていたが大きすぎて動かない。
最終的にデータ量は5GBを超えた。
11月も後半、本稼働用のサーバーを探していたら、丁度カゴヤがVPSサーバーのベータ版を募集していた。
すごく、快適です。まだベータ版ですが、本番稼動でも、50GBで900円という激安プランです。
http://www.kagoya.jp/cloud/vps/
ベータ版では、3つまでOSのインストールができます。もちろんそれぞれにIPアドレスが振られます。
このVPSにサーバー管理システムをインストールし、もろもろの環境も作って、11月末についに、公開。
AV女優をスリーサイズから検索できるシステム、「完全に一致」です。
類似検索機能付きで、2次元と3次元をつなげる夢のシステムです。はい。
真剣に作ったんだ。仕事をしながらよく頑張ったと自分をほめてあげたい。
----------------------------------------------
インターフェース:jQuery+selectToUISlider
-----------------------------------------------
サーバー上にある静的なHTMLは1ページもなく、mod_rewriteですべてPHPが処理しています。
一番大変だった事は、、、
このサイトのデータはDMM社のデータを使わせてもらったのですが、AV女優の顔写真をそのまま使うのは、肖像権的にNGらしく、AV女優の作品の中からその女優の顔が一番大きく写っているパッケージを使うことにしました。
しかし、女優データは約5万件。作品データは12万件。とても手作業でやるわけにもいきませんでした。
結局どうしたかというと、Face.com(http://face.com/)という、画像の顔認識ができるAPIを無料で提供しているサービスを利用しました。
同様のことができる、OpenCVというソフトがあるのですが、最初から付いているパターンデータでは人の正面の写真しか顔として認識しませんでした。
それに比べて、Face.comの認識精度は驚くほど高く、横だろうが斜めだろうがかなりの精度で顔を認識してくれました。
データをJSON形式で返してくれる(JSONもこのとき初めて知った)為、取得したデータを後で加工しやすかったです。
1.このAPIを使い12万件の作品データをすべてスキャンするプログラムを書く※1
2.顔の縦の長さと横の長さを取得
3.縦×横で顔の面積を計算
6.その女優の作品の中で顔面積が一番大きなパッケージ写真をその女優の顔写真として代用しました。※2
※1 APIの制限が1時間1000リクエスト迄だったので、これまたCronで・・・
※2 実際には女優テーブルと作品テーブルを繋ぐ中間テーブルのフラグをONにした。若干の間違いはあるものの、かなり正確に出ました。
長々と書きましたが、ズブの素人から約4ヵ月でここまで出来ました。
勉強する前、SEをやっている友人に話したら、「3年はかかるんじゃないか?」と言われましたが、できたものを見せたら褒めてくれました。
WEBサービスを作りたいと思っていて、技術がないからとあきらめている人は、とりあえずやってみてください。意外に簡単にできますよ。
あと、クローラーが動いていると、全能感を味わえるので楽しいです。
-----------------------------------------
19:30追記
サーバーソフトからアラートが上がって、見てみてたらなんかすごいアクセス貰ってまして。
>カゴヤの中の人乙wwww VPSといったらさくらかServersManくらいしか選択肢が無いのは現状当然の認識であるはずなのに!
カゴヤの人間じゃないですよー。広告してるつもりもないんですが、ベータ版だからかもしれませんけど、すごい快適ですよ。今は。
何よりタダなので。
本当に月額900円のまま本公開になったら、環境構築もめんどくさいのでそのまま契約しちゃうかもです。
>カゴヤはOpenVZだからなあ。俺としてはより自由度の高いさくらのVPSをお薦めしたい。
そうなんですか。2週間のお試し期間はつかったのですが、正直どっちがいいとかわかりません。
どんな風に自由度が高いんですかね?あと、アダルトOKなんですっけ?
>組み立てるプログラミングは本当に簡単だよ。 みんなで入り口を隠しているだけだよ。 #組み立てるだけじゃなくて、アルゴリズムを練ることが真のプログラミングかもしれない
サンプルプログラムの組み合わせで作ったようなサービスですので、プログラムのソースとかぐっちゃぐちゃです。
もともと、作ろうと思ったきっかけなんですけど、
椎名舞さんがですね、すでに引退しちゃってるんですよ。ずいぶん前に。
それで、検索エンジンで検索したんです。でも、なかなか出ないんですね。
欲望のままにやってたら、次から次に壁にぶち当たって、そしたらいつの間にかできました。
結果、このシステム使って椎名舞さんのプロポーションに似たAV女優を探すと、
雛乃つばめさんとか、果梨さんとか、佐伯さきさんとか既にDVD持っている女優さんばっかりヒットしちゃうんですね。確かに似てるんです。スタイル。
とくに最近の細い子は。
あ。デザインは、某企業をパk、じゃないリスペクトさせてもらいました。
-------------------------------------
23:55追記
寝てたらサーバーからアラートメールが携帯に飛んできておこされました!
こんな瞬発的なアクセスを考えていなかったので、とりあえず再起動しました。
-------------------------------------
12/4 01:45追記
何度再起動してもサーバーが反応しなくなるので、うぎゃーってなってたのですが、
親切な方が「MySQLサーバーが原因じゃね?デフォルトだろ?query_cache_sizeを設定したらいいよ。」とわざわざお問い合わせからアドバイスくれました。
設定してみたら驚くほどつながりやすくなりました!
同じSQLクエリーを保持してくれるらしく、実際にデータ検索を行わないので高速になるそうです。こんなの知らなかった。ありがとうございました!
プログラムはサンプルがあるからどうにかなるんですが、サーバー周りの事が全然わかりません。。。。ぐうぅぅ。。。。
おやすみなさい。
-------------------------------------
ブックマークコメントもらっていた事を別の日記で説明しました。
http://anond.hatelabo.jp/20101206224349
-------------------------------------
おいすー。クソコテ起きてきたよ。
* インターネットには、そういうアクセス方法を規定したルールは無いのですか?
インターネットに関する技術の標準を定める団体であるIETFが正式に発行するRFCと呼ばれる文書があります。
ただし、これには罰則規定があるわけでもなく、守らなければならないというものでもありません。
これそのまんま採用で。さんきう。
* Librahack氏のクローラーは、そのRFCというルールは守っていたのですか?
ソース公開されてないけど分析結果は教えてもらったのでその内容で書くよ!
ルール違反はなかった,ってことでした。もっと突っ込めば「トラブったのはサーバ側が原因と考えるのが妥当」みたいな結果でした。昨日貼った http://www26.atwiki.jp/librahack/pages/24.html#id_632dd0a1 あたり見てもらえれば衝撃の新事実って感じです。
つことで情報さんきうです。
でも,いつもココ見てるとは限らないのでできたらメールかなんかで頼むww
このくらいの負荷ならOKでしょって主張する人はなぜかみんな自分1人がそういうアクセスをするならという前提で話してるようだけど、みんながそういう高負荷かけたらどうなるかって発想はないの?
都合のいい時だけ万人に開かれてるシステムなんだからと言うくせに、かける負荷の妥当性については自分ひとりが帯域使った場合の前提で話すとかダブスタじゃないの?
そもそも今回のクローラーもそうだけど、一括取得して負荷かけるようなそれに見合うような使い方を本当にしてるの?
ある程度の負荷に対応するシステムを作るにはコストかかるんだよ。ただじゃないんだよ。
サーチエンジンのクローラーは通常1分数回レベルで抑えてる上に、捕捉されることで多数の人にアクセスされやすくなるといういわばwin-winの関係だけど、個人が作ったクローラーに、相手に対して与えられるメリットってあるの?
今回の状況って、個人用に図書館の目録作りたいんですとかいって図書館の全部の棚の前にびっしり大量の人がはりついて他の人が棚使えなくなってるような状況と一緒でしょう。
ご自由におとりくださいと書いてある店のチラシを1人で無意味にごっそり全部持っていくようなもんだよね。
そりゃ技術的には可能だろう。でも可能なら何でもやっていいの?