我目前正在使用Youtube刮刀来获取特定视频(音乐封面)的描述,并且描述中包含我需要的网址(例如,比如说facebook / username)。现在Scrapper引入了整个描述,但我需要的只是Facebook链接。
有人可以创造这样的刮刀吗?可能是" Scraper"我在哪里提供10,000个Youtube视频网址,从这些网址中提取Facebook网址并将其粘贴到每个新行的文本文档中?
我在这里找到的这个主题与我需要做的非常相似,但我只需要Facebook的URL。 Save description of a number of youtube videos
答案 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并记录它(在这种情况下在我们的服务器上)。