|
|
@ -16,12 +16,25 @@ class Index extends CI_Controller {
|
|
|
|
|
|
|
|
|
|
|
|
//自动抓取分数和排名
|
|
|
|
//自动抓取分数和排名
|
|
|
|
public function auto($sitecode = 'cht') {
|
|
|
|
public function auto($sitecode = 'cht') {
|
|
|
|
$this->run('/', 'cht');
|
|
|
|
//添加数据,信息平台中发布的,并且当前数据库没有的
|
|
|
|
|
|
|
|
$this->PageSpeedData_model->insert_list($sitecode);
|
|
|
|
|
|
|
|
$update_list = $this->PageSpeedData_model->get_update_list($sitecode, 2);
|
|
|
|
|
|
|
|
if (empty($update_list)) {
|
|
|
|
|
|
|
|
echo 'all done!';
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
foreach ($update_list as $item) {
|
|
|
|
|
|
|
|
$this->run($item->psd_URL, $item->psd_SiteCode);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public function run($psd_URL, $psd_SiteCode) {
|
|
|
|
public function run($psd_URL = false, $psd_SiteCode = false) {
|
|
|
|
if (empty($psd_URL) || empty($psd_SiteCode)) {
|
|
|
|
if (empty($psd_URL) || empty($psd_SiteCode)) {
|
|
|
|
return false;
|
|
|
|
$psd_URL = $this->input->get_post('psd_URL');
|
|
|
|
|
|
|
|
$psd_SiteCode = $this->input->get_post('psd_SiteCode');
|
|
|
|
|
|
|
|
if (empty($psd_URL) || empty($psd_SiteCode)) {
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$sites = $this->config->item('site');
|
|
|
|
$sites = $this->config->item('site');
|
|
|
|
if (empty($sites[$psd_SiteCode])) {
|
|
|
|
if (empty($sites[$psd_SiteCode])) {
|
|
|
@ -33,9 +46,9 @@ class Index extends CI_Controller {
|
|
|
|
$PageSpeedData = new StdClass;
|
|
|
|
$PageSpeedData = new StdClass;
|
|
|
|
|
|
|
|
|
|
|
|
$desktop_url = "https://www.googleapis.com/pagespeedonline/v2/runPagespeed?strategy=desktop&locale=zh_CN&url=$run_URL";
|
|
|
|
$desktop_url = "https://www.googleapis.com/pagespeedonline/v2/runPagespeed?strategy=desktop&locale=zh_CN&url=$run_URL";
|
|
|
|
$desktop_url = "http://pagespeed.mycht.cn/pagespeedonline/v2/runPagespeed?strategy=desktop&locale=zh_CN&url=$run_URL";
|
|
|
|
// $desktop_url = "http://pagespeed.mycht.cn/pagespeedonline/v2/runPagespeed?strategy=desktop&locale=zh_CN&url=$run_URL";
|
|
|
|
$mobile_url = "https://www.googleapis.com/pagespeedonline/v2/runPagespeed?strategy=mobile&locale=zh_CN&url=$run_URL";
|
|
|
|
$mobile_url = "https://www.googleapis.com/pagespeedonline/v2/runPagespeed?strategy=mobile&locale=zh_CN&url=$run_URL";
|
|
|
|
$mobile_url = "http://pagespeed.mycht.cn/pagespeedonline/v2/runPagespeed?strategy=mobile&locale=zh_CN&url=$run_URL";
|
|
|
|
//$mobile_url = "http://pagespeed.mycht.cn/pagespeedonline/v2/runPagespeed?strategy=mobile&locale=zh_CN&url=$run_URL";
|
|
|
|
//echo $desktop_url;die();
|
|
|
|
//echo $desktop_url;die();
|
|
|
|
$desktop_data = GET_HTTP($desktop_url);
|
|
|
|
$desktop_data = GET_HTTP($desktop_url);
|
|
|
|
$mobile_data = GET_HTTP($mobile_url);
|
|
|
|
$mobile_data = GET_HTTP($mobile_url);
|
|
|
@ -45,14 +58,19 @@ class Index extends CI_Controller {
|
|
|
|
$desktop_object = json_decode($desktop_data);
|
|
|
|
$desktop_object = json_decode($desktop_data);
|
|
|
|
$mobile_object = json_decode($mobile_data);
|
|
|
|
$mobile_object = json_decode($mobile_data);
|
|
|
|
if (!empty($desktop_object->error) || !empty($mobile_object->error)) {
|
|
|
|
if (!empty($desktop_object->error) || !empty($mobile_object->error)) {
|
|
|
|
|
|
|
|
$this->PageSpeedData_model->update_error($pagespeed_data->psd_id);
|
|
|
|
|
|
|
|
echo 'pagespeed_error:' . json_encode($desktop_object) . ' ' . json_encode($mobile_object);
|
|
|
|
|
|
|
|
log_message('error ', 'pagespeed_error:' . json_encode($desktop_object) . ' ' . json_encode($mobile_object));
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (!$desktop_object->responseCode == '200' || !$mobile_object->responseCode == '200') {
|
|
|
|
if (!$desktop_object->responseCode == '200' || !$mobile_object->responseCode == '200') {
|
|
|
|
echo 'ERROR:' . $desktop_object->responseCode . ' ' . $mobile_object->responseCode;
|
|
|
|
$this->PageSpeedData_model->update_error($pagespeed_data->psd_id);
|
|
|
|
|
|
|
|
echo 'pagespeed_error:' . json_encode($desktop_object) . ' ' . json_encode($mobile_object);
|
|
|
|
|
|
|
|
log_message('error ', 'pagespeed_error:' . json_encode($desktop_object) . ' ' . json_encode($mobile_object));
|
|
|
|
return FALSE;
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
$PageSpeedData->psd_DesktopScore = $desktop_object->ruleGroups->SPEED->score;
|
|
|
|
$PageSpeedData->psd_DesktopScore = $desktop_object->ruleGroups->SPEED->score;
|
|
|
|
$PageSpeedData->psd_MobileScore = $mobile_object->ruleGroups->SPEED->score;
|
|
|
|
$PageSpeedData->psd_MobileScore = $mobile_object->ruleGroups->SPEED->score;
|
|
|
|
$PageSpeedData->psd_DesktopData = $desktop_data;
|
|
|
|
$PageSpeedData->psd_DesktopData = $desktop_data;
|
|
|
@ -61,14 +79,14 @@ class Index extends CI_Controller {
|
|
|
|
$PageSpeedData->psd_Datetime = date('Y-m-d H:i:s', time());
|
|
|
|
$PageSpeedData->psd_Datetime = date('Y-m-d H:i:s', time());
|
|
|
|
$PageSpeedData->psd_SiteCode = $psd_SiteCode;
|
|
|
|
$PageSpeedData->psd_SiteCode = $psd_SiteCode;
|
|
|
|
$PageSpeedData->psd_ErrorCount = 0;
|
|
|
|
$PageSpeedData->psd_ErrorCount = 0;
|
|
|
|
|
|
|
|
|
|
|
|
if (empty($pagespeed_data)) {
|
|
|
|
if (empty($pagespeed_data)) {
|
|
|
|
$psd_id = $this->PageSpeedData_model->add('PageSpeedData', $PageSpeedData);
|
|
|
|
$psd_id = $this->PageSpeedData_model->add('PageSpeedData', $PageSpeedData);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
$where = array('psd_id' => $pagespeed_data->psd_id);
|
|
|
|
$where = array('psd_id' => $pagespeed_data->psd_id);
|
|
|
|
$this->PageSpeedData_model->update('PageSpeedData', $PageSpeedData, $where);
|
|
|
|
$this->PageSpeedData_model->update('PageSpeedData', $PageSpeedData, $where);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
echo $run_URL . '<br/>';
|
|
|
|
echo json_encode($pagespeed_data);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|