Api.php 831 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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. public function test_api($id, $ajax = false)
  17. {
  18. $project = new Project($id);
  19. $config = $project->get();
  20. $state = true;
  21. while ($state) {
  22. $state = $this->queue($config);
  23. }
  24. return 'yes';
  25. }
  26. private function queue($config)
  27. {
  28. $url = $config['queue']->pop();
  29. if ($url) {
  30. $this->parse($url, $config['id'], $config['collect_rule'], $config['col']);
  31. $state = true;
  32. } else {
  33. $state = false;
  34. }
  35. return $state;
  36. }
  37. private function parse($url, $project, $rule, $col)
  38. {
  39. $parse = new Parse($url, $project, $rule, $col);
  40. return $parse->get();
  41. }
  42. }