Youtube视频说明刮板

时间:2014-04-16 10:30:59

标签: facebook video youtube web-scraping web-crawler

我目前正在使用Youtube刮刀来获取特定视频(音乐封面)的描述,并且描述中包含我需要的网址(例如,比如说facebook / username)。现在Scrapper引入了整个描述,但我需要的只是Facebook链接。

有人可以创造这样的刮刀吗?可能是" Scraper"我在哪里提供10,000个Youtube视频网址,从这些网址中提取Facebook网址并将其粘贴到每个新行的文本文档中?

我在这里找到的这个主题与我需要做的非常相似,但我只需要Facebook的URL。 Save description of a number of youtube videos

1 个答案:

答案 0 :(得分:-1)

class Namespace_Youtubecrawler_IndexController extends Mage_Core_Controller_Front_Action
{

    public function indexAction()
    {
        //this $hashes array, populated by youtube_videos_only_hash.txt, contains youtube identifiers.
        $hashes = array_unique(explode("\n", file_get_contents(Mage::getBaseDir('var') . DS . 'youtube_videos_only_hash.txt')));
        foreach ($hashes as $hash) {
            $json = json_decode(file_get_contents('http://gdata.youtube.com/feeds/api/videos/' . $hash . '?v=2&alt=json'), true);
            $description = $json['entry']['media$group']['media$description']['$t'];
            //if page contains bit.ly or pagesize with the description then the video's URL is logged in custom log file.
            if ((strpos($description, 'pgsize') !== false) || (strpos($description, 'bit.ly') !== false)) {
                $outdatedURL = 'http://www.youtube.com/watch?v=' . $hash;
                Mage::log($outdatedURL, null, 'outdatedURLs.log', true);
            }
        }
    }
}

在我收集了一个用于检查的URL列表之后,我使用了一些快速的excel函数,将这些URL切割成它们的组成标识符(youtube视频网址末尾的哈希对应于它在youtube上的“位置”)。

然后我使用youtubes原生JSON编码页面(示例):

http://gdata.youtube.com/feeds/api/videos/oHg5SJYRHA0?v=2&alt=json&prettyprint=true

然后检查某些参数的描述。我相信你可以很容易地修改它来识别facebook的URL。找到参数后,它重新组合youtube URL并记录它(在这种情况下在我们的服务器上)。