2012-04-04 70 views
2

当我复制YouTube链接时(例如,像这样)(http://www.youtube.com/watch?v=_Ka2kpzTAL8),并将其粘贴到Facebook状态更新中,Facebook以某种方式抓住了一段视频。我想建立一个功能,做同样的事情,但我真的不知道如何找到图像。从YouTube视频页面刮掉图像

任何人都可以指向正确的方向吗?我对PHP,Python,Ruby或Perl开放。

+0

我走得更远一点。我想我可能会看看Facebook中出现的缩略图的网址。相同的URL在YouTube页面的标记中出现为'。现在我只需要弄清楚如何获得这一点。 – 2012-04-04 18:34:02

+0

嗯......我帮不了你,但如果你在Chrome浏览器中找到一个视频,然后点击你的设置 - >工具 - >开发工具 - >资源,你可以看到每个视频有一个框架列表。正如你所指出的,它们中的大多数都位于ytimg.com上。 – elliottbolzan 2012-04-04 18:35:44

回答

3

好吧,找到它了!

请点击此链接:http://i4.ytimg.com/vi/something/hqdefault.jpg并用Youtube上的视频ID代替。对于较小的图片,只需删除网址的hq部分即可。

0

我也可以确认这个实现是两种方式。我用它Ruby屏幕刮板(搜索应用程序)@http://stripsearch.me

  # search10b Youtube crawl9 
      @search10a1 = search_array[1] 
      if search_array[1].present? 
       @results_9b = [] 
       params_9b = search_array[1].split.map(&:downcase).join('+') 
       search_url_yt_9b = url_9b << params_9b 

       doc_9b = Nokogiri::HTML(open(search_url_yt_9b).read, nil, 'utf-8') 

       entries_9b = doc_9b.css('.yt-ui-ellipsis-2.spf-link') 

       if entries_9b.size != 0 

        entries_9b.each do |entry_9b| 
         title = entry_9b['title'] 
         li = "https://www.youtube.com" 
         nk = entry_9b['href'] 
         link = li << nk 
         img_src = entry_9b['href'] 
         uid = img_src.split('=').last 
         precede_url = "http://i4.ytimg.com/vi/" 
         append_url = "/hqdefault.jpg" 
         img_url = precede_url << uid << append_url 
         precede_tag = "<img src=" 
         append_tag = ">" 
         img = precede_tag << img_url << append_tag 
         @results_9b.push(title, link, img) 
        end 
       else 
        @error_9b = "no results found here for " + params_9b 
       end 
      end 
相关问题