0

我在我的服务器上运行 ffmpeg 并将它与 PHP 一起使用。我想知道是否可以输入网页的 URL 并让它在源代码中搜索 .mp4 文件。然后将其用作 HTML 表单中的上传文件并使用 PHP 处理它。我还希望能够抓取页面上的其他数据。

有人可以通过在 HTML 表单中输入 URL 来推荐一个好的教程或课程来抓取数据吗?或者如果它很简单,只需回答我的问题。我在这方面有点菜鸟。

4

1 回答 1

2

这是一个相当艰巨的要求,这不是一个完整的答案,而是一个让你开始的地方......

从 url 检索数据

<?php
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
?>

这是来自 => http://php.net/manual/en/function.file-get-contents.php

基本上,它下载网页的内容并将结果文本存储在变量$homepage中,然后输出。

现在!与其输出变量,不如寻找字符串“.mp4”,但这并不是那么简单。您将不得不使用正则表达式。

看一下

正则表达式模式匹配带有或不带有 http://www 的 url

您需要在最后将 URI 与 .mp4 匹配。

例如

<?php
$subject = "abcdef";
$pattern = '/^def/';
preg_match($pattern, substr($subject,3), $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?>

会产生

Array
(
    [0] => Array
        (
            [0] => def
            [1] => 0
        )
)

preg_match您可以对页面上的所有 .mp4 文件 使用相同的行为和功能并检索所有点击。在上面链接提供的代码中,您必须修改 PATH 部分并在末尾包含 .mp4

一旦你有了 MP4 文件的 url,你需要检查它前面是否有 http(s)。如果不是,则意味着它是相对路径。如果是这种情况,您需要解析 url 以在相对路径上添加绝对路径,以获取 MP4 文件的完整 URL。然后您可以file_get_contents再次使用下载 mp4 文件并按照您的意愿进行操作。

结论

这不是一个完整的代码答案,但它是一种关于如何完成你想要的事情的方法。如果您需要进一步的指导,我可以编辑并包含更多信息。

于 2013-07-22T18:59:48.307 回答