从URL刮掉mp4文件?

时间:2013-07-22 18:18:19

标签: php html ffmpeg web-scraping

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

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

1 个答案:

答案 0 :(得分:2)

这是一个相当高的订单,这不是一个完整的答案,但你可以开始......

从网址中检索数据

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

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

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

现在!您不想输出变量,而是要查找字符串“.mp4”,但并不是那么简单。你必须使用正则表达式。

看看

Regular expression pattern to match url with or without http://www

您需要在最后将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文件并按照您的意愿执行。

<强>结论

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