rutor.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. class RutorRequest extends EngineRequest {
  3. public function get_request_url() {
  4. return "http://rutor.info/search/" . urlencode($this->query);
  5. }
  6. public function parse_results($response) {
  7. $xpath = get_xpath($response);
  8. $results = array();
  9. if (!$xpath)
  10. return $results;
  11. foreach($xpath->query("//table/tr[@class='gai' or @class='tum']") as $result)
  12. {
  13. $name = $xpath->evaluate(".//td/a", $result)[2]->textContent;
  14. $magnet = $xpath->evaluate(".//td/a/@href", $result)[1]->textContent;
  15. $magnet_without_tracker = explode("&tr=", $magnet)[0];
  16. $magnet = $magnet_without_tracker . $this->opts->bittorrent_trackers;
  17. $td = $xpath->evaluate(".//td", $result);
  18. $size = $td[count($td) == 5 ? 3 : 2]->textContent;
  19. $seeders = $xpath->evaluate(".//span", $result)[0]->textContent;
  20. $leechers = $xpath->evaluate(".//span", $result)[1]->textContent;
  21. array_push($results,
  22. array (
  23. "name" => htmlspecialchars($name),
  24. "seeders" => (int) filter_var($seeders, FILTER_SANITIZE_NUMBER_INT),
  25. "leechers" => (int) filter_var($leechers, FILTER_SANITIZE_NUMBER_INT),
  26. "magnet" => htmlspecialchars($magnet),
  27. "size" => htmlspecialchars($size),
  28. "source" => "rutor.info"
  29. )
  30. );
  31. }
  32. return $results;
  33. }
  34. }
  35. ?>