我在我的服务器上运行 ffmpeg 并将它与 PHP 一起使用。我想知道是否可以输入网页的 URL 并让它在源代码中搜索 .mp4 文件。然后将其用作 HTML 表单中的上传文件并使用 PHP 处理它。我还希望能够抓取页面上的其他数据。
有人可以通过在 HTML 表单中输入 URL 来推荐一个好的教程或课程来抓取数据吗?或者如果它很简单,只需回答我的问题。我在这方面有点菜鸟。
我在我的服务器上运行 ffmpeg 并将它与 PHP 一起使用。我想知道是否可以输入网页的 URL 并让它在源代码中搜索 .mp4 文件。然后将其用作 HTML 表单中的上传文件并使用 PHP 处理它。我还希望能够抓取页面上的其他数据。
有人可以通过在 HTML 表单中输入 URL 来推荐一个好的教程或课程来抓取数据吗?或者如果它很简单,只需回答我的问题。我在这方面有点菜鸟。
这是一个相当艰巨的要求,这不是一个完整的答案,而是一个让你开始的地方......
从 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 文件并按照您的意愿进行操作。
结论
这不是一个完整的代码答案,但它是一种关于如何完成你想要的事情的方法。如果您需要进一步的指导,我可以编辑并包含更多信息。