2012-04-04 121 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 
相關問題