如何在Php中使用simple_html_dom查找视频源url



我开始学习php。如何使用php查找视频源url。有人能告诉我如何使用simple_html_dom获取视频url吗?例如,如何从网站中找到视频源url?谢谢

首先,您需要了解如何在网站上获取HTML文档。您在浏览器中看到的所有内容都由HTMLCSS组成。当您从具有PHP的页面中获取HTML文档时,您将获得此时屏幕上的任何内容。因此,如果稍后使用以下Ajax调用将内容加载到页面中,则无法直接从页面获取内容。

function loadVideoURL() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.status == 200) {
document.getElementById("videosrc").innerHTML = this.responseText;
}
};
xhttp.open("GET", "get_video_url.php", true);
xhttp.send();
}

在当前的情况下,假设视频URL首先包含在HTML文档中。

首先从这里下载simplehtmldom的最新版本。这是PHP Class,可以简单地操作HTML,并且这个库需要最少的PHP 5。在项目的主目录中创建一个名为simplehtmldomparser.php的文件,并使用下面的代码将其包含在主php代码中。

<?php 
include 'simplehtmldomparser.php';
?>

此代码块将把类加载到主PHP文件中。现在,您想从页面中获取视频url。

<?php 
$html = file_get_html('http://www.videos.com/'); 
/* This line will fetch HTML document from the site that you wrote. */
?>

现在,您有了$html变量中的html文档。您需要在HTML文档中找到视频标记。例如,如果提取的页面对视频使用<video>标签,则可以获得如下视频URL。

<?php
foreach($html->find('video') as $element){
echo $element->src . '<br>';
}
?>

下面是另一个可能适用于您的项目的示例。例如,您想在网站中跳转另一个视频,获取所有<a>标签并获取它们的hrefs,然后再次使用$html = file_get_html($newlyfetchedanchor);。要从当前$html获取所有<a>标签,请使用以下代码。

<?php
foreach($html->find('a') as $element){
echo $element->href;
}
?>

类中还有更多有用的函数,您可以在这里找到。

最新更新