使用唯一ID的PHP / Curl抓取链接

时间:2012-04-28 13:10:18

标签: php regex curl

我正在尝试在youtube搜索的结果页面上抓取视频链接,但是我遇到了麻烦,因为所有视频链接都包含唯一ID。这是我到目前为止的代码:

<?php

$data = file_get_contents('http://www.youtube.com/results?search_query=php');

$regex = '/watch?v={11}/';

preg_match($regex,$data,$match);

print_r($match);

?>

打印出来时,我只是得到一个空数组,因此它似乎没有接受'/ watch?v ='或我试图动态抓取它后面的11个字符uid。

2 个答案:

答案 0 :(得分:1)

你的正则表达式中有错误。此外,你想要使用preg_match_all获取所有匹配..

$data = file_get_contents('http://www.youtube.com/results?search_query=php');

$regex = '/watch\?v=([a-zA-Z0-9_]{11})/';

preg_match_all($regex,$data,$matches);

print_r($matches);

答案 1 :(得分:0)

{11}表示前面的模式必须恰好出现11次。也就是说,你要匹配11个等号。你想把它改为.{11} ..这可能效果不好,但至少你会得到结果。