phpをどうにかやってみたい僕の日々

プログラム言語であるPHPをちょっと本気でやってみようという自分自身を奮起させる為のブログ。

phpでクローラー作成は可能なのかを思案してみる。

2011年01月26日 | etc日記
よく自分の技術(phpだけ)でクローラーって作れるのか?
って思うんだけど、ちょっとした光を発見!

Webスクレイピングを可能にするPHPライブラリ・htmlSQL

Webスクレイピングっていうのは、部分的にHTMLを取得・抽出することらしい。
んで、htmlSQLっていうPHPライブラリを用いる事で容易に取得できるみたいなのだ☆

これ使ってデータベースと連携すればクローラー作れるんじゃねぇ?
って昨日、思った。

まあ、cronで取得を自動化させたり
サーバーへの負担はまるで考えてないんだけど…

たしかGoogle様はPythonでクローラーを作成していたって聞いたことあるけど
phpだけでいつかクローラーを作成してみたいと考えるのでした。

でもphpもバージョンアップしたりしたらもっとサーバーとかに優しいプログラムに
変化していくだろうし…

やってみる価値はあるかもね。

でも、簡易でもクローラーできたら検索エンジンサイトもできるから
その仕組みを売ったり、自分で運営したり、
それもビジネスの一つかもね。営業力も必要だけど…

とりま、昨日書いてみたphp

2011年01月22日 | php
とりあえず、第2回目の記事だぜー!

昨日、自分のサイトで簡単なWiki風のプログラムを組んだぜ。
動くことは動くけど、とりあえず動的にページを吐き出している人むけかな…
今回はデータベースからの取得した配列を使用してみました。
例えば、データベースはこんなのがあったとして、


















id name description
a 魔法使い 古代の魔法を使用できる人種。童貞
b 戦士 接近戦に優れた種族。力バカ

//-----------------------------------------
//ちょっとWiki風
//-----------------------------------------
 function spell( $description ){
 //ここにデータベースへの接続のプログラムを記入
 //データベースからの配列を$qeryの変数へ代入
  for ($i = 0; $i < count($qery); $i++){
   if (preg_match('/'.$qery[$i]['name'].'/', $description)){
    $all = preg_replace('/('.$qery[$i]['name'].')/', '$1',description);
break;
} else {
$all = $description;
}
}
return $all;
}
//ここまで

この関数を動的に吐き出す場所に設置。
nameのカラムにマッチする文字列をaタグ化。
んでidカラムがフォルダ名と同期している前提だけど
これでリンクにして思ったページに飛ばす。
と……ここまで書いたけど実は自分はほとんど独学なんで
他人が見たら「いやいや、なんでそんな書き方になっちゃうかなぁ~」って罵倒されそう。

誰かちゃんとしたphpの書き方おせーて!

一応、break;はわざと入れてます。
なんか吐き出す文章がリンクだらけになるのも嫌なんで…

ところでなんでテーブル使ったらこんなに間空いちゃうの? 教えてgooだぜ!

このままでは後輩たちにphpを抜かれてしまう★

2011年01月21日 | etc日記
昨日の晩、娘を寝かしつけながら

ふと思った。

php極めてみようかなぁ…

取り敢えず、基本的な関数や構文は知っている

完全に人に説明できるほどの能力は自分にはない。

自分自身で欲しいシステムを簡易に構築はできるが

クラスの定義の仕方や他人に使用して貰う事を前提に

作成してはこなかった。

すぐさま、phpの本を手に取りクラスの概念を勉強してみる。

難しいぃ……

なんとなくしか解らない。

クラスがあってその中でfunction化されたメソッドがあって…

取り敢えず折角

昨日、勉強する気になったのでここでブログを立ち上げて

自分に言い聞かす様に書いて残してみる事にした。

3日坊主にならなきゃいいけど…

……phpもブログも