2

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

谁能指出我正确的方向?我对 PHP、Python、Ruby 或 Perl 持开放态度。

4

2 回答 2

5

好的,找到了!

获取此链接:http://i4.ytimg.com/vi/something/hqdefault.jpg并用 Youtube 上的视频 ID 替换某些内容。对于较小的图像,只需删除hqURL 的一部分。

于 2012-04-04T18:40:38.170 回答
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
于 2017-01-18T16:17:23.780 回答