2013年11月28日木曜日

PHP cURL でページを取得 クロールもできる

一連の cURL cURL_setopt cURL_exec を使ってサイト情報のチェックと、店舗情報ををDBへ放り込む。

1000店ちかくある複数の代理店の、更新店舗と閉店店舗の管理をしている。
代理店統括から来る情報は遅く、各代理店毎に様式が違うので結局は各代理店の新着情報が頼みの綱。

だけど、時々、諸事情により新着に載せずに閉店している店舗があると面倒くさい。
都道府県ごとに店舗数を照らし合わせ、違いのある都道府県から閉店店舗を探し出すという作業。

すぐに見つかれば1時間程度で済むのだが、下手をすると3時間以上かかってしまう。



そこでクローラほど大げさなものでは無いのだが、代理店のショップ番号をcURLで照らし合わせてしまおうというのである。

【前情報 CURL の使い方】

$ch = curl_init(); // cURL使うよー
curl_setopt($ch, 値, TRUEかFALSE) // 設定をごにょる
$curl_exec($ch); // ここで実行
$curl_close($ch); // 俗に言うおまじない

例えばグーグルを拝借
$ch = curl_init(); // 起
curl_setopt($ch, CURLOPT_URL, "http://www.google.co.jp"); // 承
curl_exec($ch); // 転
curl_close($ch); // 結

 ちょっと画像やなんかがおかしいが代理店の情報があるかないかを調べるには十分

ってことで、理屈としては

  1. URLに付けられてる変数「?shop=○○」を1からforかwhileかなんかで新着店舗の500まで回す。
  2. SQL文でDBにあるかを参照
  3. DBに無い場合は追加(代理店サイトも当然プログラムを組んでいるのでhtmlについているid名なりclass名から予測)
  4. こちらが多い場合は削除する
な感じでクラス化しときましょうか。

出来たら追加します。




0 件のコメント:

コメントを投稿