Api.php 627 B

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. namespace Spider\Lib;
  3. use Dever;
  4. class Api
  5. {
  6. public function run_api($id, $ajax = false)
  7. {
  8. $project = new Project($id);
  9. $config = $project->get();
  10. $state = true;
  11. while ($state) {
  12. $state = $this->queue($config);
  13. }
  14. return 'yes';
  15. }
  16. private function queue($config)
  17. {
  18. $url = $config['queue']->pop();
  19. if ($url) {
  20. $this->parse($url, $config['id'], $config['collect_rule'], $config['col']);
  21. $state = true;
  22. } else {
  23. $state = false;
  24. }
  25. return $state;
  26. }
  27. private function parse($url, $project, $rule, $col)
  28. {
  29. $parse = new Parse($url, $project, $rule, $col);
  30. return $parse->get();
  31. }
  32. }