hi 我在軌道上創建腳本ruby,其中用戶共享鏈接,如果鏈接包含視頻,則會提取視頻的嵌入代碼。換句話說,我正在嘗試實現像功能一樣的「facebook帖子鏈接」。有人可以引導我如何實現這一點?如何檢查一個url是否包含視頻?
0
A
回答
0
您可以分析HTTP頭該鏈接
require "net/http"
Net::HTTP.start('www.jhepple.com', 80) do |http|
http.head('/support/SampleMovies/MPEG-1.mpg')
end['content-type']
輸出"video/mpeg"
現在,你知道這是一個真正的視頻,做你想要做什麼用
0
你也可以使用工具如file
並分叉一個系統進程,以便它執行像file -b downloaded_file.mpg
這樣的命令。
所以您的代碼會是這個樣子:
IO.popen("file -b /path/to/video.mpg") { |stdout| @stdout = stdout.gets }
if not @stdout.grep(/MPEG/).empty?
puts "MPEG Detected"
end
1
我能想到的唯一辦法做到這一點是手動檢查每個帖子的鏈接,視頻,例如:
YOUTUBE_EMBED = '<iframe title="YouTube video player" width="640" height="390" src="http://www.youtube.com/embed/VIDEO_ID" frameborder="0" allowfullscreen></iframe>'
if comment =~ /.*http:\/\/(\w+\.)?youtube.com\/watch\?v=(\w+).*/
return YOUTUBE_EMBED.gsub(/VIDEO_ID/, $2)
end
然後爲每個視頻網站重複此過程。我正在與類似的概念搏鬥,所以如果你找到一個更好的方法來做到這一點,讓我知道!
0
Flash視頻通常具有擴展名.flv,因此您只需查找具有該擴展名的文件即可。
html_souce.scan(%r|href\s*=\s*\"[^\"]+\.flv\"|)
如果您需要其他文件格式,只需更改正則表達式。
0
您可以像使用embedl.ly
這裏的外部服務你是一個寶石,可以幫助您https://github.com/judofyr/ruby-oembed
相關問題
- 1. 如何檢查url是否包含「main.php」
- 2. 如何檢查URL是否只包含一個路由參數?
- 3. 檢查URL是否爲YouTube視頻
- 4. 如何檢查url是否包含多個字符串。 Javascript/jquery
- 5. Wordpress,PHP - 如何檢查單個帖子是否包含嵌入的YouTube視頻?
- 6. 如何檢查一個txt文件是否包含一個詞
- 7. 檢查前一個(-1&-2)url是否包含字符串
- 8. 如何檢查url是否包含查詢字符串
- 9. 如何檢查URL是否包含/預覽或子域是CI?
- 10. 如何檢測HTML頁面是否包含視頻?
- 11. 如何檢查一個TextView是否包含某個字符串
- 12. 如何檢查視頻是否重疊
- 13. 如何檢查DataTable是否包含DataRow?
- 14. 如何檢查NSString是否包含'%'?
- 15. 如何檢查HashSet是否包含值?
- 16. 如何檢查CGContext是否包含點?
- 17. 如何檢查一個URL是一個圖像還是Youtube視頻
- 18. 任何preg_match來檢查一個url是否是youtube/vimeo/dailymotion視頻鏈接?
- 19. 如何驗證YouTube視頻以檢查URL中是否存在視頻?
- 20. 如何檢查NSString是否包含URL或字符串數據?
- 21. 如何檢查url是否包含fileEntityId的數字?
- 22. 如何檢查一個字段是否包含圓括號?
- 23. 如何檢查一個字符串是否包含char?
- 24. 如何檢查ArrayList是否包含另一個ArrayList的元素?
- 25. 如何檢查Ruby數組是否包含多個值之一?
- 26. 如何檢查數組是否至少包含一個對象?
- 27. 如何檢查是否一個數組包含浮法:: NAN
- 28. 如何檢查一個php文件是否被成功包含?
- 29. 如何檢查圖像是否包含在另一個圖像?
- 30. 如何檢查一個字符串是否包含字典
如果是直接鏈接到視頻文件這隻會工作。 @Saad就是你所說的,或者你想要檢測包含視頻的網頁(這更難)。 – raidfive 2011-02-04 16:22:43