video.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. function get_video_results($query, $page=0)
  3. {
  4. require "config.php";
  5. require "misc/tools.php";
  6. $url = "https://www.google.$config_google_domain/search?&q=$query&start=$page&hl=$config_google_language&tbm=vid";
  7. $response = request($url);
  8. $xpath = get_xpath($response);
  9. $results = array();
  10. foreach($xpath->query("//div[@id='search']//div[contains(@class, 'g')]") as $result)
  11. {
  12. $url = $xpath->evaluate(".//a/@href", $result)[0];
  13. if ($url == null)
  14. continue;
  15. if (!empty($results)) // filter duplicate results
  16. if (end($results)["url"] == $url->textContent)
  17. continue;
  18. $url = $url->textContent;
  19. if ($config_replace_yt_with_invidious != null)
  20. {
  21. $url = str_replace("youtube.com", $config_replace_yt_with_invidious, $url);
  22. }
  23. $title = $xpath->evaluate(".//h3", $result)[0];
  24. array_push($results,
  25. array (
  26. "title" => htmlspecialchars($title->textContent),
  27. "url" => htmlspecialchars($url),
  28. "base_url" => htmlspecialchars(get_base_url($url))
  29. )
  30. );
  31. }
  32. return $results;
  33. }
  34. function print_video_results($results)
  35. {
  36. echo "<div class=\"text-result-container\">";
  37. foreach($results as $result)
  38. {
  39. $title = $result["title"];
  40. $url = $result["url"];
  41. $base_url = $result["base_url"];
  42. echo "<div class=\"text-result-wrapper\">";
  43. echo "<a href=\"$url\">";
  44. echo "$base_url";
  45. echo "<h2>$title</h2>";
  46. echo "</a>";
  47. echo "</div>";
  48. }
  49. echo "</div>";
  50. }
  51. ?>