|
@@ -95,7 +95,7 @@ class Api
|
|
|
$set = $this->set($config['id']);
|
|
|
|
|
|
if (strpos($config['site'], '{') !== false && strpos($config['site'], '}') !== false) {
|
|
|
- $this->preg($config, $col);
|
|
|
+ $this->preg($config, $col, $set);
|
|
|
} else {
|
|
|
Dever::load('spider/lib/project')->set($config, 4, 1);
|
|
|
$this->parse($config['site'], $config['id'], $config['collect_rule'], $col, $set, $config['push']);
|
|
@@ -126,28 +126,28 @@ class Api
|
|
|
return $parse->get();
|
|
|
}
|
|
|
|
|
|
- private function preg($config, $col)
|
|
|
+ private function preg($config, $col, $set)
|
|
|
{
|
|
|
$pat = '/{(.*?)}/i';
|
|
|
preg_match_all($pat, $config['site'], $match);
|
|
|
if (isset($match[1][0]) && $match[1][0]) {
|
|
|
if ($config['page_num'] <= 0) $config['page_num'] = 100;
|
|
|
parse_str($match[1][0], $param);
|
|
|
- $this->page($param, $match[0][0], $config, $col);
|
|
|
+ $this->page($param, $match[0][0], $config, $col, $set);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private function page($param, $replace, $config, $col)
|
|
|
+ private function page($param, $replace, $config, $col, $set)
|
|
|
{
|
|
|
if (isset($param['page']) && $param['page']) {
|
|
|
for ($i = $param['page']; $i <= $config['page_num']; $i++) {
|
|
|
$url = str_replace($replace, $i, $config['site']);
|
|
|
Dever::load('spider/lib/project')->set($config, 4, $i);
|
|
|
- $this->parse($url, $config['id'], $config['collect_rule'], $col);
|
|
|
+ $this->parse($url, $config['id'], $config['collect_rule'], $col, $set, $config['push']);
|
|
|
}
|
|
|
} else {
|
|
|
Dever::load('spider/lib/project')->set($config, 4, 1);
|
|
|
- $this->parse(str_replace($replace, '', $value), $config['id'], $config['collect_rule'], $col);
|
|
|
+ $this->parse(str_replace($replace, '', $value), $config['id'], $config['collect_rule'], $col, $set, $config['push']);
|
|
|
}
|
|
|
}
|
|
|
}
|