www.gusucode.com > iWebshop开源PHP商城系统 v2.8源码程序 > iwebshop/plugins/collect/collect.php
<?php /** * @brief 采集器抽象类 * @date 2014/1/1 20:21:11 * @author chendeshan */ abstract class collect { //已经采集到的列表页面html代码 protected $listPageHtml = ''; //已经采集到的详情页面html代码 protected $showPageHtml = ''; /** * @brief 获取列表页面的html代码 * @param $url string 列表页面url地址 */ public function readListPage($url) { if($this->checkListUrl($url) == false) { throw new Exception('URL不符合规范'); exit; } if(!$content = file_get_contents($url,false,$this->context)) { throw new Exception('没有采集到列表页面的html代码'); } //转码GBK转换UTF-8 $this->listPageHtml = $this->converContent($content); } /** * @brief 获取商品详情页面数据 * @param $url string 详情页面url */ public function readShowPage($url) { if($this->checkShowUrl($url) == false) { throw new Exception('URL不符合规范'); exit; } $content = file_get_contents($url,false,$this->context); //转码GBK转换UTF-8 $this->showPageHtml = $this->converContent($content); } /** * @brief 字符串转码 * @param $content string 要转换的字符串 * @return string */ public function converContent($content) { if(IString::isUTF8($content) == false) { return iconv('GBK','UTF-8//IGNORE',$content); } return $content; } /** * @brief 检查商品列表url的合法性 * @param $url string * @return boolean */ abstract public function checkListUrl($url); /** * @brief 检查商品详情url的合法性 * @param $url string * @return boolean */ abstract public function checkShowUrl($url); /** * @brief 采集商品信息 * @param int $num 采集数量 * @return array */ abstract public function collect($num); }