我只是想屏幕抓一个包含Flash视频的网页。在使用PHP Simple HTML DOM Parser抓取网页时,我想抓住嵌入代码段并下载视频数据。有人可以帮忙吗?
参考可能的帮助: How to find object tag with param and embed tag inside html using simple html d
答案 0 :(得分:3)
我认为没有通用的解决方案,否则很多网站的youtube-dl special-casing都没有必要。 如果您想到的网站位于该列表中,我建议您只使用youtube-dl。
答案 1 :(得分:0)
如果你正在使用linux服务器,你可以使用这个小的PHP包装器为youtube-dl。只需将包含视频的网页的网址传递给该功能。
function video_download($video_url) {
$downloaderUrl = 'https://yt-dl.org/downloads/2015.01.23.4/youtube-dl';
$downloaderPath = '/tmp/youtube-dl';
$videoPath = '/tmp/videos';
if(!file_exists($videoPath.'/')) {
mkdir($videoPath, 0777);
}
if(!file_exists($downloaderPath)) {
file_put_contents($downloaderPath, file_get_contents($downloaderUrl));
chmod($downloaderPath, 0777);
}
exec($downloaderPath.' -o "'.$videoPath.'/%(title)s.%(ext)s":w '.$video_url);
return true;
}
用法示例:
video_download('http://www.youtube.com/watch?v=9bZkp7q19f0');
如果你对某些解释感兴趣,它只是从网站上获取youtube-dl下载程序,将其保存到你的tmp文件夹然后通过url传递它。结果将保存到tmp。
中的其他文件夹中